iOS

CF1239E Turtle 题解

Description 一只乌龟从 (2 times n) 的棋盘的左上角走到右下角,只能往下或往右,需要给出一种方案来分配 (2n) 个数字使得乌龟走过的路径上的数之和的最大值最小。 (2leq nleq 25,0leq a_{1,i},a_{2,i}leq 5times 10^4)。 Solution 设 (pre_{i}=sum_{j=1}^{i}{a_{1,i}},suf_i=sum_{j

CSP 模拟 31

A string 记下 pre,(mathcal{O}(n)) 做完了。 B subset 小思维题。 先考虑如果全是非负数咋做,先给价值排序,定义一个方案 (p(val,id)),表示这种方案考虑到了 (id) 位置,价值为 (val),可以由它再扩展两个方案,一种是拿下一个 (p(val+w[id+1],id+1)),一种是舍去当前的,拿下一个 (p(val-w[id]+w[id+1],id+

P6240

题面稍微有一点不一样。 Statement 给 (n) 个物品,每个物品有价值 (v_i)、体积 (w_i)。 (q) 次询问,问考虑 ([L..R]) 区间的物品,用容量为 (m) 的背包最多能装多少价值的物品,有多少种方案,每个物品只能被装一次。 (nle 2cdot 10^4, qle 10^5, w_i,m_ile 500, v_ile 10^6). Solution 离线下来猫树分治。每

P5975 photo 题解

Solution 先离散化,记 (f(l,r,p)) 为覆盖了 ([l,r]) 区间内纵坐标 (ge p) 的点最少矩形个数。则: [ f(l,r,p)=min(f(l,r,p),f(l,mid,p)+f(mid+1,r,p)) ][ f(l,r,p)=min(f(l,r,p),f(l,r,res)+1) ]令 (h) 为用面积为 (S) 的矩形去覆盖 ([l,r]) 区间的高度,即 (S/(r-

P6292 区间本质不同子串个数

Solution 与“区间本质不同回文子串个数”类似,但没有等差数列那样优美的性质了……下面是一个更通用的做法。 考虑移动一次右端点 (r),就相当于把 parent 树上一条到根链的 last endpos 设为 (r). 把这个看成 access 操作. 考虑用 LCT 维护 parent 树的链,维护一个性质:一条实链的 last endpos 都相同。可以发现这条实链代表的字符串长度连续

P8735

Statement 给出 (k,p,L),数序列 (a),满足如下条件: (1le a_ile k) (sum_i a_i=L) (nexists i,a_ige pland a_{i+1}ge p) 答案对 (20201114) 取模,(ple kle 1000, Lle 10^{18}). Solution 30 pts 注意到可以 dp,记 (f(i,0/1)) 为凑出 (i) 的方案数

P9192 Pareidolia 题解

Statement 给串 (t),定义 (B(s)) 为 (s) 删一些字符后能出现最多多少个 bessie,(A(t)) 表示对 (t) 的所有子串 (s) 求 (B(s)) 的和,有 (q) 次单点修改,每次改完输出 (B(s)). Solution 动态 dp,但是带矩乘 (6^3) 常数,不好. 还是考虑分治咋做. 现在有区间 ([l,mid],[mid+1,r]) 对于一个跨过中点的区间

P3703 树点涂色 题解

Statement 树,每个点有一个颜色,初始每个点颜色互不相同 到根链涂上新颜色 链颜色数 (u) 子树内点 (v) 到根路径的最多颜色数 Solution 首先,相同颜色的点一定构成一条从下往上的链 考虑 LCT,维护一个性质:一条实链的点的颜色相同. 于是 (u) 到根的颜色数 (=) (u) 到根的虚边数加一,记虚边数为 (f(u)). 于是第二个询问,等于 (f(u)+f(v)-2c

c++中字符/串->整数

char字符->整数数字:std::isdigit 用于判断某个字符是否为数字(0-9)。 字符串->数字:std::stoi 用于将字符转换为整数。 isdigit 参数: ch:一个整数类型的参数,通常是一个字符,代表需要判断的字符。 返回值: 如果 ch 是数字字符('0' - '9'),则返回非零值(通常为 1)。 如果 ch 不是数字字符,则返回 0。 用法: 你需

OpenCV(图像明度)

目录1. 图像明度(Brightness)2. 明度调整的原理3. 示例 1. 图像明度(Brightness) 明度(Brightness)是图像中反映光亮程度的一个属性,通常用于描述像素的亮度水平。 对于RGB图像,明度(Luminance)每个像素中红、绿、蓝通道的加权和。 [text{Luminance} = 0.299 times R + 0.587 times G + 0.114

【巧用set实现对有序数组O(logn)时间复杂度增、删、查、改、二分操作】codeforces 1041 C. Coffee Break

题意 第一行输入三个整数 (n,m,d(1 leq n leq 2 * 10^5, n leq m leq 10^9, 1 leq d leq n)),第二行输入 (n) 个整数,保证每个数均不大于 (m)。 在每一天你都可以任意选择一个未选过的数 (a_i),随后可以继续选任意一个大于 (a_i + d) 的数 (a_j);接下来可以再选任意一个大于 (a_j + d) 的数 (a_k);最后重

单词接龙-双向广搜

单词接龙 题目链接 LeetCode单词接龙 题意概述 字典 (wordList) 中从单词 (beginWord) 到 (endWord) 的 转换序列 是一个按下述规格形成的序列 (beginWord -> s_1 -> s_2 -> ... -> s_k:) 每一对相邻的单词只差一个字母。 对于 (1 <= i <= k) 时,每个 (si) 都在

OpenCV(图像对比度)

目录1. 图像对比度2. 对比度调整的原理3. 示例4. 调整对比度的效果 1. 图像对比度 图像对比度是指图像中亮部和暗部之间的差异程度。对比度越高,亮区更亮,暗区更暗;对比度低时,亮区和暗区的差异不明显,图像显得平淡。 2. 对比度调整的原理 图像对比度可以通过线性变换实现,公式如下: [I_{out} = alpha cdot I_{in} + beta ] (I_{in}) 是输入

异或线性基

我们考虑这样一个问题:给定 (N) 个整数 (A_1,A_2,dots,A_N)。求能异或出多少种不同的值。 我们考虑用一个集合 (S) 记录目前能凑出来的数字。 当我们要加入 (A_i) 时,如果 (A_inot in S),则 (xoplus A_i(xin S)) 一定都不在 (S) 中,否则可以通过 ((xoplus A_i)oplus x) 凑出 (A_i)。反之,如果 (A_iin S

P1969 [NOIP2013 提高组] 积木大赛

[NOIP2013 提高组] 积木大赛 题目背景 NOIP2013 提高组 D2T1 题目描述 春春幼儿园举办了一年一度的“积木大赛”。今年比赛的内容是搭建一座宽度为 $n$ 的大厦,大厦可以看成由 $n$ 块宽度为 $1$ 的积木组成,第 $i$ 块积木的最终高度需要是 $h_i$。 在搭建开始之前,没有任何积木(可以看成 $n$ 块高度为 $0$ 的积木)。接下来每次操作,小朋友们可以选择一段

P5019 [NOIP2018 提高组] 铺设道路

[NOIP2018 提高组] 铺设道路 题目背景 NOIP2018 提高组 D1T1 题目描述 春春是一名道路工程师,负责铺设一条长度为 $n$ 的道路。 铺设道路的主要工作是填平下陷的地表。整段道路可以看作是 $n$ 块首尾相连的区域,一开始,第 $i$ 块区域下陷的深度为 $d_i$ 。 春春每天可以选择一段连续区间 $[L,R]$ ,填充这段区间中的每块区域,让其下陷深度减少 $1$。在选择

智能指针之手撕共享指针shared_ptr

要点 成员是指向实例的指针和应用计数 应用计数也应该是一个共享的int指针,因为这个计数需要各个共享指针同步维护 需要重载的函数有:用指针构造;拷贝构造;赋值运算符=;解地址运算符*;指针调用成员的运算符->;析构函数; 涉及到计数的部分: 构造时初始化:1 拷贝构造:+1 赋值=:原有-1,新对象+1。注意-到0时,要执行析构; 析构函数:-1。注意-到0时,要执行析构; 贴个代

502 Bad Gateway

最优数学期望的分界点并不在区间中点处,因此需要整数三分,应当可以通过l=lmid+1、r=rmid-1收缩区间 ACM时代,应当可以通过__gcd函数求最大公约数,不用自己手写了。【就算会编译错误也不计入罚时,试错成本极低】 对double比较相对大小的精度还是要有信心的,虽然这道题其实用不上double,稍微变形一下就好了 赛场上忘开long long了,万幸本题三分的结论应该是落在根号处,不

CF2013 F2

CF2013 F2 首先你需要知道 F1 的做法。 我将会给出一个 (O(nsqrt n)) 的,求出整棵树任意节点答案的方法。 对于路径上的点 (p_1sim p_m),终点 (p_m),起点 (p_1), 设 (p_i) 所经不在路径上的最远长度为 (d_i)。 那么根据 F1 的结论,我们是通过移动两个指针 (l,r),不断判断是否有 (d_l+l>max_{kin [l,r]}(m-

链表-栈例题

MT2135调整队伍 马蹄集:链表 小码哥迎来了他大学的第一次军训,军训的第一个项目就是列队,每个同学在队伍中都有属于自己的编号。但在练习过程中,教官怎么看这支队伍怎么不顺眼,于是决定调整一下队伍的顺序。 为了顺便考验同学们的反应力,教官与学生们约定了一个口令,每当他说x y 0,x号同学就要移动到y号同学的前面,每当他说x y 1,x号同学就要移动到y*号同学的后面,但学生们不想一次次慢慢移动这

CF2006B Iris and the Tree

题目链接 题解 知识点:DFS序。 编号已经满足 dfs 序,因此对于边 (t_v = (u,v), u < v) ,有且仅有两条路径 (v - 1 to v, R_v to R_v bmod n + 1) 会经过这条边,前者是进入子树 (v) 时经过,后者是离开子树 (v) 时经过。其中 (R_v) 表示子树 (v) 内的最大编号,我们可以用 dfs 预处理。 显然,当一条路径存在未确

牛客周赛 Round 61

A-Letter Song 签到题 代码 B-简单图形问题 思路 正方形面积:(x^2),正三角形面积:(frac{sqrt{3}}{4} x^2),判断一下能组成什么就行。 代码 C-小红的差值构造 思路 根据给出的目标点(x, y),如果x>0,显然U操作数量一定要比x值大,否则就不可能到达,同理其他情况也一样。 接下来讨论可行的方案数,同样以x>0的情况讨论,假设用u记录一共

【LGR-199-Div.3】复旦勰码基础赛 #16 & FSLOI Round 1

P11076 「FSLOI Round I」单挑 思路 最多连续胜利的场数最少是多少,其实就是在剩余的S里面插入F的连续胜场的最大值是多,以为要先小S获胜,可以插入的空的数量就是剩余S的大小,平均值上取整就是答案。 代码 P11077 「FSLOI Round I」石子 思路 不可行的情况明显是对于一个不等于平均值的数,无论如何加减k值都不可能到达平均值。 接下讨论可行情况的胜负,明显的对于一个

2024 Noip 做题记录(二)

(text{By DaiRuiChen007}) Round #5 - 2024.9.14 A. [P9906] Cover Problem Link 题目大意 给定长度为 (k) 的序列,从一个点出发,每次向左或向右一步,共走 (n) 步,每个位置上显示最后一次被经过的时刻,求能生成多少合法序列。 数据范围:(n,kle 5000)。 思路分析 注意到能到达的点一定是一段区间,可以倒序

程序像河水一样流动着

摘要 “程序像河水一样流动着” 主要探讨了程序执行的流程及相关概念。 首先介绍了程序计数器(PC)在确定程序执行顺序中的关键作用,它如同指挥棒决定着下一条指令的地址。 接着阐述了条件分支和循环机制,条件分支根据特定条件改变程序的执行路径,而循环则通过重复执行一段代码实现特定功能。 同时,详细说明了标志寄存器在条件判断中的重要性,其存储的标志位可反映运算结果的状态,为条件分支提供

Cloudflare WARP+ 又能用了!2024年9月22日,新增MASQUE协议

大概三个月前,cloudflare warp+在中国大陆被全面封禁,导致广大用户无法使用warp+,纷纷转投cf worker。 今天,它带着新增MASQUE协议强势回归,只要切换到新协议,就又能用了。 1. Windows用户 1.1 WARP+官网下载客户端 WARP+官网: 进入WARP+官网,下载对应客户端。  双击运行,完成安装。 1.2 新建mdm.xml文件 在 C:Pro

P3478 题解 & 换根 dp 学习笔记

换根 dp,又叫二次扫描,属于树形 dp 的范畴。一般具有一下几个特点: 当指定的根节点不同时,题目求解的答案不同。 在转移期间需要不止一个节点的信息。 需两次 dfs,第一次为预处理,第二次为 dp 过程。 预处理 本题需要记录每个节点的两个信息: 节点 (u) 的深度 (d_u)。 当树根为 (1) 时,以节点 (u) 为根的子树的节点数 (mathit{sz}_u)。易得 (math

leetcode 算法题目学习笔记 - 序号2

2. 两数相加 给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 请你将两个数相加,并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外,这两个数都不会以 0 开头。 可用的模板 初始想法 暴力求解,将两个链表里面的数拿出来变成完整数字,求和,再转换为链表倒序存储 点击查看代码 思路很简单 但是简单的令

【Ynoi 2019 模拟赛】Yuno loves sqrt technology II

Luogu P5047 Yuno loves sqrt technology II 题意 给定一个长度为 (n) 的序列 (a)。 有 (m) 次询问:查询区间 ([l,r]) 中的逆序对数。 数据范围与约定 (1 le n,m le 10^5),(0 le a_i le 10^9)。 题解 看到区间问题,先思考线段树。发现用线段树没法合并两个区间的信息。所以考虑分块。分块确实能做,但是这题卡空间

图论指南

前置知识 在了解图论之前,还需要知道怎么存图。 vector 用 vector<int> G[MAXN] 来存图。$G_i$ 表示从 $i$ 出发,能够到达的点的数组。空间开销相较于链式前向星较大。也可以将 vector 替换为其他 STL 容器,如 list、unordered_set、deque 等。list 的写法空间更优,常数较小,但是 vector 更大众一点。 链式前向星

<<  <  43  44  45  46  47  48  49  50  51  52  53  >  >>