12 2020 档案
摘要:题目链接:https://codeforces.ml/edu/course/2/lesson/5/4/practice/contest/280801/problem/D 思路:维护 ans 和sum 两个值 ans为当前区间段的答案,sum为当前区间和 那么每次查询的时候即是 用当前区间的答案加上当
阅读全文
摘要:题目链接:https://codeforces.ml/edu/course/2/lesson/6/4/practice/status 题意:给定一张有向图 问1到n 权值的平均值 最小的 路径是哪条 思路: 二分check 平均值 把每条边 减去平均值得到贡献 最终1~n 距离小于0的 即为合法 因
阅读全文
摘要:题目链接:https://codeforces.ml/problemset/problem/1463/D题意:有1~2n 2n个整数 两两匹配 问有多少种取x次 其中的最小值 和n-x次 其中的最大值 得到b序列思路: 用set模拟得到最多能用几次 x 和最少能用几次x 那么中间的 范围都可以贪心得
阅读全文
摘要:题目链接:https://codeforces.ml/edu/course/2/lesson/6/4/practice/contest/285069/problem/A 题意:求一段连续的长度不小于k的 且平均值最大的区间 思路:二分check平均值 然后让每个a[i]-mid 来获得他的贡献值 然
阅读全文
摘要:题目链接:https://ac.nowcoder.com/acm/problem/15446 01分数规划问题 二分 check mid最大值 要使得 sum v / sum w >=mid 那么移项得 sum (v[i]-w[i]*mid)>=0 那么 把 v[i]-w[i]*mid 整体当一个数
阅读全文
摘要:题目链接:https://www.luogu.com.cn/problem/CF600E 思路: 先处理出那些点是重儿子 然后对于每一个结点 先处理完轻儿子 再暴力清除掉 然后再处理重儿子 处理之后不用清除,回到根结点 再让处理根节点,让根节点带上重儿子的信息再跑一遍轻儿子的信息得到答案 暴力的话
阅读全文
摘要:题目链接:https://codeforces.ml/gym/102835/submit 题意:给定7种字符 每有一段连续的长度大于m的相同字符就能消去 问最终整段字符串能否消去 dp[i][j][x] 代表 i到j区间 剩种类为x的数最大为多少 那么每次区间合并的时候 还是 dp[i][j][x]
阅读全文
摘要:题目链接:https://www.luogu.com.cn/problem/CF1312E 思路:dp[i][j] 表示 合并i到j的最小长度, 那么转移dp[i][j]=min(dp[i][j],dp[i][k],dp[k+1][j]) 很好想到 考虑如何来使两段相邻的区间来合并成一段 当只有区间
阅读全文
摘要:题目链接:https://codeforces.ml/gym/308590/submit 题意:给定字符串A 和字符串B 问B在A中子序列的出现次数 思路: 计数dp dp[i][j] 代表A串前i个中 出现B串的前j个数 每次dp[i][j]=dp[i-1][j]继承过来 当a[i]==b[j]的
阅读全文
摘要:题目链接:https://ac.nowcoder.com/acm/problem/13230 思路: 区间dp 只有四种情况 讨论 注意处理边界问题 把0的处理好后 1的也好了 2的不用处理 因为不同于单个字符串 https://ac.nowcoder.com/discuss/391086 题解 1
阅读全文
摘要:题目链接:https://www.luogu.com.cn/problem/P4170 思路: 考虑合并两个区间的时候 如果首和尾相同的话 那么就可以在涂首的时候也涂上尾 或者是涂上尾的时候也涂上首 否则的话枚举分割点 取两段区间合并 1 #include<bits/stdc++.h> 2 #def
阅读全文
摘要:题目链接:https://codeforces.ml/edu/course/2/lesson/7/1/practice/contest/289390/problem/E 题意:第一只猴子的 尾巴挂在树上 每只猴子的左右手可以抓住其他猴子的尾巴 给定某只猴子 松开某只手的时间 问每只猴子的掉落时间 思
阅读全文
摘要:题目链接:https://codeforces.ml/edu/course/2/lesson/7/2/practice/contest/289391/problem/F 题意:求图中的一棵生成树 要求边权的最大值-最小值 最小 根据数据范围可以考虑 排序后 枚举起点 最小的肯定在其Kruskal顺序
阅读全文
摘要:题目链接:https://codeforces.ml/gym/102875/problem/C 题意:每只猫的高度为1~20 两只同样高度的猫中间的最矮的猫不能比他们高 用1~20构造出这样的序列 思路 按 1 然后2个空位插2 1 2 1 4个空位插3 变为 3 1 3 2 3 1 3即可 最多构
阅读全文
摘要:题目链接:https://codeforces.ml/gym/102823/problem/G 题意:每次操作使得整个区间+1 问最少多少次 使得整个区间的gcd大于1 如果不存在输出-1思路:根据gcd的差分性质 转换成差分数组 即每次只能是a[1]++ 那么就是2~n的gcd d 要多少次才能变
阅读全文
摘要:题目链接:https://codeforc.es/gym/102823/problem/H 题意:给定两个字符串 每个字符串与另一个字符串的距离为 其中的不同字符数 要找一个字典序最小的字符串 使得和s1和s2的距离一样思路:直接从前到后枚举 每个位置a~z 选哪个, 贪心前面能选最小的就选这样一定
阅读全文
摘要:题目链接:https://codeforces.ml/contest/1032/problem/C 题意:给定一个数组 要求 当a[i]<a[i-1]时 你构造的第i个数 也要b[i]<b[i-1] 当a[i]>a[i-1]时 要b[i]>b[i-1] 当a[i]==a[i-1]时 要b[i]!=b
阅读全文
摘要:题目链接:https://ac.nowcoder.com/acm/contest/9716/B 思路: 根据数据范围和题意 很容易看出是dp 主要是 边界的处理是 无效状态的去除 dp[i][j][0/1] 代表 前i个字符有j个重音节 且当前是/否 重音节 对于当前音符 可以是重音符也可以不是 不
阅读全文
摘要:题目链接:https://codeforces.ml/contest/1023/problem/D 题意:给定一个数组 问能否在进行q次操作后 使得一个序列变成给定的数组 第i次操作是 选定一个区间[l,r] 使得整个区间 上的数都变成i 如果a[i]是0的话 代表可以是任何数 输出最终的序列 思路
阅读全文
摘要:题目链接:https://www.luogu.com.cn/problem/list?keyword=cf1254a&page=1 思路:直接R的总数除以分的块数 尽量平均分, 然后构造连通的时候 不能用dfs乱搞 S型的从左到右一直扫下去 确保能构造所有的R连通即可 1 #include<bits
阅读全文

浙公网安备 33010602011771号