博客园 首页 私信博主 显示目录 隐藏目录 管理 动画
上一页 1 ··· 19 20 21 22 23 24 25 26 27 ··· 29 下一页
摘要: "题目链接" 首先数位DP 用f[i][0/1]表示匹配到第i位前面i 1位是否为上界。 这样还需要状态转移,对于每个状态 枚举每一个数,用AC自动机得到下一个状态(这样状态其实就是在树上的标号) ps1.数不能带前导0(因为会有00...这样的串),对每一位要先加上以每个非零数开头的方案数 ps2 阅读全文
posted @ 2018-03-11 16:49 SovietPower 阅读(267) 评论(0) 推荐(0) 编辑
摘要: "题目链接" cpp //删掉一个单词需要前移一段位置,用链表维护就好了 复杂度O(sum(len)) include include define S 26 const int N=1e5+7; int n; char s[N],p[N]; struct AC_Automaton { int cn 阅读全文
posted @ 2018-03-11 12:45 SovietPower 阅读(226) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 首先不需要存储每个字符串,可以将所有输入的字符依次存进Trie树,对于每个'P',记录该串结束的位置在哪,以及当前节点对应的是第几个串(当前串即根节点到当前节点);对于'B',只需向上跳一个节点。 然后构建Trie图。fail[]有一个重要意义是: 若fail[y]=x,那么y节点表示 阅读全文
posted @ 2018-03-11 09:31 SovietPower 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 题目链接: "简单版" , "增强版" 简单版: cpp include include const int N=1e6+5,S=26; char s[N]; struct AC_Automaton { int cnt,q[N],val[N],fail[N],las[N],son[N][S]; // 阅读全文
posted @ 2018-03-08 19:10 SovietPower 阅读(242) 评论(0) 推荐(1) 编辑
摘要: "题目链接" $Description$ 求给定字符串中 最长的k个回文串长度的乘积(要求回文串长度为奇数);若奇数长度回文串不足k个则输出 1.(len include define rg register define mod 19930726 typedef long long LL; con 阅读全文
posted @ 2018-03-08 16:05 SovietPower 阅读(196) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 设f[i][j]为当前是第i位考号、现在匹配到第j位(已有j 1位和A[]匹配)的方案数 因为假如当前匹配j位,如果选择的下一位与A[j+1]不同,那么新的匹配位数是fail[j]而不是0,那么设由匹配j位转移到匹配k位的方案数为t[j][k] 那么 $f[i][j] = ∑f[i 1 阅读全文
posted @ 2018-03-08 14:48 SovietPower 阅读(188) 评论(0) 推荐(0) 编辑
摘要: "题目链接" cpp / 896kb 6816ms A+B+A是KMP的形式,于是固定左端点,对于每个位置i,若fail[i]所能到的点k中(k=fail[fail[fail[...]]]),有满足len(l~k)+len(i k+l 1,i)=K,则i满足条件 每个位置仅计算一次 就很好做了 O( 阅读全文
posted @ 2018-03-08 10:44 SovietPower 阅读(143) 评论(0) 推荐(0) 编辑
摘要: "题目链接" $Description$ 给定平面上n个点,将这些点染成红or蓝色,要求每行、每列红色点与蓝色点数量的差的绝对值y(column)的边 这样我们可以将边染色,使得与每个点相连的两种颜色差 include define gc() getchar() const int N=4e5+5, 阅读全文
posted @ 2018-03-05 16:24 SovietPower 阅读(291) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 首先Bi之间的大小关系没用,先对它排序,假设从小到大排 那么每个Ai所能匹配的Bi就是一个B[]的后缀 把一个B[]后缀的匹配看做一条边的覆盖,设Xi为Bi被覆盖的次数 容易想到 对于每个i∈[1,m]都要满足 Xi i = 0,即min{Xi i} =0 (Hall定理) 用线段树维 阅读全文
posted @ 2018-03-05 11:21 SovietPower 阅读(382) 评论(0) 推荐(0) 编辑
摘要: 题目链接 dbzoj \(Description\) 有$k$个国家,$n$个城市分属于不同国家,$m$条边。要求每个国家有恰好一个城市作为首都,每条边至少有一个端点是首都。 求是否有解。 \(n,m,k\leq 10^6\)。 \(Solution\) 每个城市要么建首都要么不建,考虑2-SAT 阅读全文
posted @ 2018-03-05 09:15 SovietPower 阅读(459) 评论(0) 推荐(1) 编辑
摘要: "题目链接" $Description$ 给定a,b,x,p,求[1,x]中满足n a^n ≡b (mod p) 的n的个数。$1 typedef long long LL; LL a,b,p,x; LL FP(LL x,int k) { LL t=1; for(; k; k =1,x=x x%p) 阅读全文
posted @ 2018-03-05 07:19 SovietPower 阅读(284) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 比较容易想到用f[i][j]表示走了i步后到达j点的方案数,但是题目要求不能走上一条走过的边 如果这样表示是不好转移的 可以考虑边,f[i][j]表示走了i步后到达第j条边的方案数,那么有 f[i][j] = ∑f[i 1][k] (边k能直接到达边j) 只要不走反向边,就保证了不会走 阅读全文
posted @ 2018-03-04 20:39 SovietPower 阅读(179) 评论(0) 推荐(0) 编辑
摘要: "题目链接" $Description$ 给定$d$张无向图,每张图都有$n$个点。一开始,在任何一张图中都没有任何边。 接下来有$m$次操作,每次操作会给出$a,b,k$,意为在第$k$张图中的点$a$和点$b$之间添加一条无向边。 你需要在每次操作之后输出有序数对$(a,b)$的个数,满足$1\ 阅读全文
posted @ 2018-03-04 10:43 SovietPower 阅读(665) 评论(3) 推荐(1) 编辑
摘要: 题目链接 \(Description\) 给出一个n个点的有向图,任意两个点之间有且仅一条有向边。对于每个点v,求出从v出发的一条经过点数最多,且没有重复经过同一个点一次以上的简单路径。 n<=2000 \(Solution\) 详细题解在这 竞赛图缩点后得到的拓扑图一定是一条链,因为竞赛图任意两点 阅读全文
posted @ 2018-03-04 08:55 SovietPower 阅读(668) 评论(0) 推荐(0) 编辑
摘要: 题目链接 \(Description\) 给出一个n个点m条边的无向图。 你每次需要选择两个没有边相连的点,将它们合并为一个新点,直到这张图变成了一条链。 最大化这条链的长度,或输出无解。 n<=1000,m<=10000 \(Solution\) 不难发现无解当且仅当存在奇环。 归纳证明:有一个奇 阅读全文
posted @ 2018-03-03 20:56 SovietPower 阅读(349) 评论(2) 推荐(1) 编辑
摘要: "题目链接" $Description$ 给定一天24h 每小时需要的员工数量Ri,有n个员工,已知每个员工开始工作的时间ti(ti∈[0,23]),每个员工会连续工作8h。 问能否满足一天的需求。若能,输出最少需要多少员工。 $Solution$ "参考" . 既然给的是开始工作时间,那么就先根据 阅读全文
posted @ 2018-03-03 15:37 SovietPower 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 有$n$个人在一条直线上跑步,每个人的起点 $Si$、终点 $Ei$ 已知;每个点可以放一个广告牌,一个人i能看到的广告牌数量为 $Ei-Si+1$。 要求使每个人看到的广告牌数量不小于 $k$ (若 $Ei-Si+1 阅读全文
posted @ 2018-03-03 14:43 SovietPower 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 题目链接 \(Description\) 求图的欧拉回路(找一个环使每条边恰好出现一次)。若$t=1$该图为无向图,否则为有向图。 \(n\leq 10^5,\ m\leq 2\times 10^5\)。 \(Solution\) 这数据。。简直了 有自环和重边,有些点可能没有连边(并查集不好使 就 阅读全文
posted @ 2018-03-03 11:15 SovietPower 阅读(244) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 阅读全文
posted @ 2018-03-03 09:46 SovietPower 阅读(176) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 建边不说了。对于议案'?'的输出用拓扑不好判断,直接对每个议案的结果DFS,看是否会出现矛盾 Tarjan也用不到 cpp //964kb 76ms include include include const int N=2005,M=16005; int n,m,Enum,H[N], 阅读全文
posted @ 2018-03-01 14:29 SovietPower 阅读(150) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 存在一个环,说明什么? 画了一下样例二,直接是个环;然后重新画了下样例一,可以画成一个环,非环上的边可以连在环内或环外 这些非环上的边不能相交。然后就成了 "POJ3207" 原题了,只是圆上排列顺序不同。 不过边数很多,必须利用平面图的性质: 平面图的边数小于等于3n 6,来将边数降 阅读全文
posted @ 2018-03-01 11:25 SovietPower 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题意摘自:https://www.cnblogs.com/wenruo/p/5885948.html \(Description\) 一对新人请n-1对夫妻吃饭,人们坐在一张桌子的两侧,每一对互为夫妻关系的人必须坐在桌子的两侧。而且有些人两两之间会存在“通奸”关系,通奸关系不仅在男女之间, 阅读全文
posted @ 2018-03-01 10:11 SovietPower 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 题目链接 以下转自:zck921031. \(Description\) 有一个大小为N的集合$S={x_1,x_2,....,x_n}$,\(x_i=0或1\),给出它们之间的一些逻辑运算的结果(如x1 and x2=1),逻辑运算有AND OR XOR三种,问是否存在一种满足所有条件的取值方案。 阅读全文
posted @ 2018-03-01 06:37 SovietPower 阅读(224) 评论(0) 推荐(0) 编辑
摘要: "题目链接" $Description$ 一个圆上顺序排列0,1,...,n 1共n个点,给出m条线段,线段可以从里面连也可以从外面连,问是否能满足所有线段不相交 $Solution$ 把每条线段看做一个点,只有在圆外和在圆内两种情况,于是可以把线段拆成i,i',分别表示两种情况 对于端点相交的线段 阅读全文
posted @ 2018-02-28 21:46 SovietPower 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 题目链接 构建完MST后,枚举非树边(u,v,w),在树上u->v的路径中找一条权值最大的边(权为maxn),替换掉它 这样在 w=maxn 时显然不能满足严格次小。但是这个w可以替换掉树上严格小于maxn的次大边 用倍增维护MST上路径的最大值、次大值,每条非树边的查询复杂度就为O(logn) p 阅读全文
posted @ 2018-02-28 21:01 SovietPower 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 题目链接 \(Description\) 给定两边点数分别为$n,m$共有$n\times m$条边的完全二分图,求其生成树个数模$p$。 \(n,m,p\leq 10^{18}\)。 \(Solution\) 这是完全二分图,那么在构造Prufer序列时,最后会剩下两个点,两点的边是连接两个集合的 阅读全文
posted @ 2018-02-28 16:28 SovietPower 阅读(277) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 猴子之间的打架是棵无根树,有$n^{n 2}$种可能;同时n 1个过程的排列是$(n 1)!$ 阅读全文
posted @ 2018-02-28 16:06 SovietPower 阅读(151) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 若点数确定那么ans = (n 2)!/[(d1 1)!(d2 1)!...(dn 1)!] 现在把那些不确定的点一起考虑(假设有m个),它们在Prufer序列中总出现数就是left=n 2 (d1 1) (d2 1) ... (dn 1) 这left个数本身又有m^{left}种 所 阅读全文
posted @ 2018-02-28 15:30 SovietPower 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 题目链接 \(Description\) 有k种饮料,浓度Ai给出,求用最少的体积配成n/1000浓度的饮料。 \(Solution\) 根据题意有方程 \((A1*x1+A2*x2+...+An*xn)/[(x1+x2+...+xn)*1000] = n/1000\) xi表示Ai选多少升(\(0 阅读全文
posted @ 2018-02-28 14:25 SovietPower 阅读(268) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 先缩点,对于scc之间贡献即为szscc[i] szscc[j] 用f[i][j]表示scci是否能到sccj 拓扑排序,每次把now的f或上to的f 用bitset优化 cpp //63888kb 1080ms include include include include defi 阅读全文
posted @ 2018-02-28 11:06 SovietPower 阅读(178) 评论(0) 推荐(0) 编辑
上一页 1 ··· 19 20 21 22 23 24 25 26 27 ··· 29 下一页