上一页 1 2 3 4 5 6 7 ··· 9 下一页
摘要: A. Beautiful String $solution:$ 直接暴力即可。 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; inline int read 阅读全文
posted @ 2019-12-06 17:32 siruiyang_sry 阅读(177) 评论(0) 推荐(0) 编辑
摘要: A. Math Problem $solution:$ 直接找右端点最小值与左端点的最大值做差比较即可,时间复杂度 $O(n)$ 。 #include<iostream> #include<cstring> #include<cstdio> #include<algorithm> #define i 阅读全文
posted @ 2019-11-25 22:12 siruiyang_sry 阅读(210) 评论(0) 推荐(0) 编辑
摘要: $CSP\space S$ 格雷码 $solution:$ 直接模拟即可。 时间复杂度 $O(n)$ 。 #include<iostream> #include<cstring> #include<cstdio> #include<algorithm> using namespace std; vo 阅读全文
posted @ 2019-11-21 19:38 siruiyang_sry 阅读(302) 评论(0) 推荐(2) 编辑
摘要: CF1257F Make Them Similar $solution:$ 折半搜索后考虑如何维护两个数组的和,可以将 $A$ 中每个数减 $A_1$ ,$B$ 中每个数被减 $B_1$ ,$map$ 维护一下即可。 #include<iostream> #include<cstring> #inc 阅读全文
posted @ 2019-11-04 19:22 siruiyang_sry 阅读(308) 评论(0) 推荐(1) 编辑
摘要: link $solution:$ 如果按照 $A$ 从小到大排序后,极差的计算方式为组内最后加入的数字减去开始插入的数字。 设 $f_{i,j,k}$ 表示前 $i$ 个人,有 $j$ 组还没有最大值,当前和为 $k$ 的方案数,转移考虑 $i$ 选为最大,最小,中间与单独一组即可。答案即为 $\s 阅读全文
posted @ 2019-10-29 19:34 siruiyang_sry 阅读(196) 评论(0) 推荐(1) 编辑
摘要: link 题意简述 小 $A$ 与小 $B$ 在玩游戏,已知小 $A$ 赢 $n$ 局,小 $B$ 赢 $m$ 局,没有平局情况,且赢加一分,输减一分,而若只有 $0$ 分仍输不扣分。 已知小 $A$ 每次赢得概率为 $p$ ,问小 $A$ 得分期望。 $T$ 组数据。 $T,n,m\leq 2.5 阅读全文
posted @ 2019-09-10 17:10 siruiyang_sry 阅读(428) 评论(12) 推荐(1) 编辑
摘要: link $solution:$ 朴素 $dp$,暴力枚举选择 $i$ 号人的第 $j$ 张卡片,朴素 $dp$ 即可,时间复杂度 $O(n^4)$ 。 考虑对于朴素 $dp$ 的优化,发现其实是一个背包卷积的过程,考虑按 $A$ 值从大到小依次加入,每次维护新的 $P$ 值可以做到 $O(1)$ 阅读全文
posted @ 2019-08-11 19:18 siruiyang_sry 阅读(240) 评论(0) 推荐(1) 编辑
摘要: link $solution:$ 考虑朴素 $dp$,设 $f_i$ 为权值为 $i$ 的二叉树个数,$C_i$ 表示 $i$ 出现的次数。 则 $$f_i=\sum_{j=0}^i C_j\sum_{k=0}^{i-j} f_k\times f_{i-j-k}$$ 时间复杂度 $O(n^3)$ 。 阅读全文
posted @ 2019-08-10 19:19 siruiyang_sry 阅读(203) 评论(1) 推荐(1) 编辑
摘要: AGC014 E Blue and Red Tree link $solution:$ 考虑题目的性质,可以发现蓝树与红树肯定有交,且必在最后一次割掉。 所以考虑反向过程,如何从红树变为蓝树。 将最后一次的情况往外推广,每一次也要有类似的交集,。 考虑如何去维护,通过启发式合并 $set$ 与并查集 阅读全文
posted @ 2019-08-10 18:25 siruiyang_sry 阅读(196) 评论(0) 推荐(1) 编辑
摘要: 区间和2 题意简述 $T$ 组数据。 每次给定长度为 $n$ 的序列,$q$ 组询问,每次询问 $l,r$ ,表示询问 $l-r$ 小的区间和。 $T\leq 10,n\leq 2\times 10^5,q\leq 20$。 时间限制 $7s$ $solution:$ 这种题一看就知道会是差分后二分 阅读全文
posted @ 2019-08-08 15:41 siruiyang_sry 阅读(194) 评论(0) 推荐(1) 编辑
摘要: 信仰圣光 题意简述 求对于有 $n$ 个点的 $e$ 个简单环。有 $k$ 个守卫,每个环至少要有一个守卫的方案数。 $1\leq k\leq n\leq 152501$ $solution:$ 考虑对于朴素 $O(n^2)\space dp$ 的优化,简单思考后发现 $dp$ 的过程其实是一个背包 阅读全文
posted @ 2019-08-03 23:16 siruiyang_sry 阅读(141) 评论(2) 推荐(1) 编辑
摘要: 互质对 题意简述 给你一个长度为 $n$ 的序列。$q$ 次操作,每次将一个数删除或加入,问操作完后的序列互质对个数。 $n,q\leq 10^5,a_i\leq 5\times 10^5$ 。 $solution:$ 对于数 $x\leq 5\times 10^5$ ,它的质因子个数不超过 $7$ 阅读全文
posted @ 2019-07-30 19:32 siruiyang_sry 阅读(167) 评论(0) 推荐(1) 编辑
摘要: 最大值 题意简述 维护一个数据结构满足,区间增加一个等差数列,区间求最值。 $n,q\leq 5\times 10^4$ 。 $solution:$ 李超线段树模板,对于每一个线段树节点维护一条线段,运用标记永久化查询答案。 当新添加的线段 $y=kx+b$ 与线段树中的线段 $y=Kx+B$ 比较 阅读全文
posted @ 2019-07-29 20:10 siruiyang_sry 阅读(228) 评论(0) 推荐(1) 编辑
摘要: link $solution:$ 首先我们可以发现一个结论,对于一个数 $x$ ,它的最低修改次数为它每位与前去中是否都比此位上的数大,有则答案 $-1$ 。因为若有小数则没有办法将其答案贡献变低。 这个东西可以直接单调栈维护一个递增序列。 所以这样 $dp$ 状态也很显然了,设 $f_{i,j,s 阅读全文
posted @ 2019-07-28 20:07 siruiyang_sry 阅读(206) 评论(0) 推荐(1) 编辑
摘要: link $solution:$ 树上莫队模板题,树上莫队计算贡献后是除去 $u,v$ 的 $lca$ 的,简单用前缀和维护即可。 因为是带修莫队,块大小为 $n^{\frac{2}{3}}$ 时时间复杂度最小,时间复杂度 $O(n^{\frac{5}{3}})$ 。 #include<iostre 阅读全文
posted @ 2019-07-28 18:24 siruiyang_sry 阅读(198) 评论(0) 推荐(1) 编辑
摘要: 赛马 题意简述 田忌和齐王又要赛马了,他们将各派出 $N$ 匹马,每场比赛输的一方需要给赢的一方 200 两黄金,平局的话双方都不比出钱,已知所有马的速度,且齐王的出马顺序永远固定,求田忌的最大收益。 $N\leq 10^3$ 。 $solution:$ 考虑将两个人的马按从大到小排序,发现对于齐王 阅读全文
posted @ 2019-07-27 19:46 siruiyang_sry 阅读(183) 评论(0) 推荐(1) 编辑
摘要: 异或约数和 题意简述 求 $f_1\space xor\space f_2…\space xor\space f_n$ , $f_i$ 表示 $i$ 的所有约数的异或和。 $n\leq 10^{14}$ 。 $solution:$ 考虑 $xor$ 有结合律与交换律,所以考虑优化给定式子。 对于 $ 阅读全文
posted @ 2019-07-27 13:31 siruiyang_sry 阅读(172) 评论(0) 推荐(0) 编辑
摘要: link $solution:$ 不知道为什么别人的代码能写的非常短,难道就是写差分的好处? 这种题肯定是算每个众数的贡献,考虑通过暴力众数求出个数。 现在考虑众数 $x$ ,则在序列 $a$ 中将等于 $x$ 的置为 $1$ ,否则置为 $-1$,令为序列 $A$ 。设 $S_i=\sum_{k= 阅读全文
posted @ 2019-07-23 20:12 siruiyang_sry 阅读(303) 评论(0) 推荐(1) 编辑
摘要: link $solution:$ 大力线段树即可。 有一个简单做法为在每一个线段树的节点维护一个 $set$ ,线段树存 $x$ 轴, $set$ 维护 $y$ 轴,然后每次暴力取点 $dijkstra$ 即可。 因为线段树上最多 $n\log n$个点,在线段树上取点后还要删除此点,动态维护,不直 阅读全文
posted @ 2019-07-22 16:26 siruiyang_sry 阅读(468) 评论(0) 推荐(1) 编辑
摘要: link $solution:$ 算法一 通过观察范围发现 $q\leq1000$ ,所以直接暴力拆点 $dp$ 。时间复杂度 $O(1000m)=O(能过)$ 。 算法二 因为有 $A\times x^2+B\times x+C$ 考虑斜率优化。 设 $f_i$ 表示走完第 $i$ 条边的最小烦躁 阅读全文
posted @ 2019-07-20 12:01 siruiyang_sry 阅读(461) 评论(1) 推荐(2) 编辑
上一页 1 2 3 4 5 6 7 ··· 9 下一页