上一页 1 2 3 4 5 6 7 8 9 ··· 41 下一页
摘要: 补题进度:10/12 地址:http://codeforces.com/gym/101194 A(签到) 略 B(数位DP) 题意: 定义一个01字符串为good串当且仅当将其奇数位或者偶数位单独拎出来是个回文串。 输出长度为n(<=1e5)的字典序排在第k(<=1e18)位的good串 分析: 很 阅读全文
posted @ 2017-12-09 13:14 Chellyutaha 阅读(949) 评论(0) 推荐(1) 编辑
摘要: 题意 给出一个n个点m条边的无向联通图(n,m<=5e5),有q(q<=5e5)个询问 每个询问询问一个边集{Ei},回答这些边能否在同一个最小生成树中 分析 要知道一个性质,就是权值不同的边之间是独立的,即权值为x的所有边的选取不影响权值>x的边的选取 于是我们可以把所有询问离线,按边权排序,对于 阅读全文
posted @ 2017-11-30 22:49 Chellyutaha 阅读(792) 评论(0) 推荐(0) 编辑
摘要: A(枚举) =w= B(枚举) 分析: 枚举每一位,考虑每位贡献,就是相当于在一段区间内找有多少1在奇数位上,有多少个1在偶数位上,维护一下各自前缀和就行了 时间复杂度O(32n) C(签到) D(dfs序+可持久化线段树/离线+线段树) 分析: 考虑dfs序,那么对于每个询问,就是询问一段区间[l 阅读全文
posted @ 2017-11-24 22:21 Chellyutaha 阅读(260) 评论(0) 推荐(0) 编辑
摘要: 题意 分析 考虑一个图能被若干简单环覆盖,那么一定是每个点恰好一个出度,恰好一个出度 于是类似最小路径覆盖的处理,我们可以把每个点拆成2个点i和i',如果有一条边(i,j),那么将i和j'连起来 那么问题就等价于求这个二分图的完美匹配的个数 求完美匹配个数是个np问题,但这里n<=20,很容易想到用 阅读全文
posted @ 2017-11-02 21:41 Chellyutaha 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 题意 有一个左边m个点,右边n个点的二分图(n,m<=1e5),左边每个点向右边恰好连两条权值相同的边。 求这个二分图的最优匹配 分析 对于这种二选一问题,即左边的a连向右边的b和c,权值为d,我们可以在b-c中间连一条权值为d的无向边(未定向) 那么我们就是要对这些边进行定向,使得每个点入度最多为 阅读全文
posted @ 2017-10-17 20:12 Chellyutaha 阅读(613) 评论(0) 推荐(0) 编辑
摘要: 题意 有n(n<=3000)个人参与acm比赛,每个人都有一个解题数,现在要决定拿金牌的人数cnt1,拿银牌的人数cnt2,拿铜牌的人数cnt3,各自对应一个解题数区间[d1,c1],[d2,c2],[d3,c3] 现在要求: 1、d1-c2尽可能大 2、在1满足的前提下,d2-c3尽可能大 3、在 阅读全文
posted @ 2017-10-14 16:56 Chellyutaha 阅读(301) 评论(0) 推荐(0) 编辑
摘要: 题意 给一个长度不超过200000的字符串s,假定有一个字符串a,这个字符串在s中出现次数是f(a),你需要让$|a|f(a)$最大。 但是有一些位置是禁止的,即以该位置为结束位置的字符串不计数。 分析 先不考虑禁止的位置 那么可以求出后缀数组,枚举每一个height[i]作为|a|,向两边扩展,看 阅读全文
posted @ 2017-10-14 15:54 Chellyutaha 阅读(363) 评论(0) 推荐(0) 编辑
摘要: 地址:https://www.nowcoder.com/acm/contest/15#question A(树形dp) 分析 dp[i][0],dp[i][1]分别表示以i为根的子树中,有多少个点到i的距离为偶数、为奇数 那么每次merge i点和i点的某个儿子u的时候,统计一下答案就行了,ans+ 阅读全文
posted @ 2017-10-14 14:22 Chellyutaha 阅读(325) 评论(0) 推荐(0) 编辑
摘要: 题意 分析 将一些点分成两个集合,很明显的最小割问题 设一个S、T,和S相连的点表示在B集合中,和T相连的点表示在A集合中 因为原题是完美值最大,我们转换一下,变成损失的价值最小,那么就是最小割问题了 对于两个点(u,v),如果有边相连,那么u->T v->T 权值是|u-v|;如果无边,那么S-> 阅读全文
posted @ 2017-10-04 22:01 Chellyutaha 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 题意 给一个长度为n(n<=1e5)的序列,如果一个位置i满足a[i-1]>a[i]或者a[i]>a[i+1],那么我们就称该位置是不合法的位置 先把序列中所有不合法的位置统一找出来,然后再一起删除,剩下的合并成一个新序列 再对新序列重复操作,直至最后每个位置都是合法的 现在你需要输出最后的序列长什 阅读全文
posted @ 2017-10-03 00:13 Chellyutaha 阅读(157) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 41 下一页