自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 资源 (1)
  • 收藏
  • 关注

原创 CodeForces 182D(#117)|Common Divisors|KMP求循环节

题目大意给出s1和s2,求两字符串公共循环节个数。题解求最小循环节的方法: http://blog.csdn.net/huanghongxun/article/details/53213871 注意到循环节只有最小的和由最小的重复几次组成的。 所以先求出两串的最小循环节,并判断是否一致,如果不一致就不可能有公共循环节。 如果一致,那么求出两串的循环次数,那么两次数的公共因子的个数就是循环节个

2016-11-18 12:00:01 740

原创 HDU 3746|Cyclic Nacklace|KMP求最小循环节

题目大意给定字符串,问最少在末尾加多少个字符就可以让字符串存在循环节(循环节出现次数>1)。题解分析KMP的next数组,next[n]指最长的那个字符串是该字符串的前缀和后缀(但不是整个字符串)。情况1:那么如果类似ABCDABKKABCDAB这种情况,next[n]就指ABCDAB的长度=6。那么我们再补2个KK就可以了,最小循环节ABCDABKK=8,是(原长14)-6=8。 ABCDABK

2016-11-18 10:54:39 450

原创 CodeForces 432D|Prefixes and Suffixes|KMP|动态规划

题目大意求s的不同长度的既是s前缀又是s后缀的子串的个数题解考虑KMP的next数组。 因为next[j]表示lcp(s[1..j],s[1..k])(k<j)lcp(s[1..j],s[1..k])(k<j)。 故s[1..j]与s[1..next[j]]的关系是后者是前者的最长后缀,由于是最长,所以肯定不会漏情况,因此后者的出现次数是前者的出现次数+1(前者最后一次出现的后缀)。。。。。。。

2016-11-18 00:35:54 656

原创 CodeForces #379(734A|734B|734C|734D|734E|734F)|二分查找|模拟|树的半径|位运算

734A: Anton and Danik题目大意给定字符串中,D多输出Danik,A多输出Anton,一样多输出Friendship题解#include <cstdio>char s[100005];int main() { int n, i, d = 0, a = 0; scanf("%d%s", &n, s); for (i = 0; i < n; ++i)

2016-11-16 17:58:43 1854

原创 CodeForces #179(295A|295B|295C)|动态规划|最短路径|前缀和

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I

2016-11-13 23:57:23 465

原创 CodeForces 652E|Pursuit For Artifacts|边双连通分量|缩点

include include include using namespace std;define FOR(i,j,k) for(i=j;iconst int N = 300005, M = 2 * N;struct Graph { int h[N], p[M], v[M], w[M], val[N], dis[N], vis[N], cnt = 0

2016-11-12 18:44:35 698

原创 CodeForces #363(698A|699C|698C|699E)|动态规划

698A|699C - Vacations题目大意你一天可以选择去锻炼或打比赛,但你不能连续2天都锻炼或打比赛,你还知道某天是否有比赛、体育馆是否开门。问你最少没事干的天数。题解#include <cstdio>#include <cstring>#include <algorithm>using namespace std;#define FOR(i,j,k) for(i=j;i<=k;+

2016-11-07 23:08:43 757

原创 CodeForces #367(706C)|动态规划

706C - Hard Problem题目大意有一列字符串,你可以翻转一些字符串使得这一列字符串按字典序排列(翻转操作代价cic_i)。问最小代价。题解很多dp题喜欢披着字符串的羊皮啊。。 要注意到的是相等也是满足字典序的QwQ。 注意到字典序排列满足无后效性,故考虑DP。 令dp[i][0]dp[i][0]表示不翻转第i个字符串时1~i按字典序排列的最小代价,dp[i][1]dp[i][1]

2016-11-06 22:36:16 426

信息学竞赛离线评测软件

最受欢迎的信息学竞赛离线评测软件,需要提供输入输出文件,该软件将可以自动帮您运行程序(需要源代码),并输出得分。

2011-07-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除