摘要: 1 #include 2 #include 3 using namespace std; 4 5 const int N = 1000+10; 6 const int M = N*N; 7 8 struct Edge { 9 int u, v;10 Edge( int u,...阅读全文
posted @ 2015-07-14 18:06 idy002 阅读(205) 评论(3) 编辑
摘要: 1 /************************************************************** 2 Problem: 2179 3 User: idy002 4 Language: C++ 5 Result: Accep...阅读全文
posted @ 2015-06-30 20:55 idy002 阅读(152) 评论(0) 编辑
摘要: 1 /************************************************************** 2 Problem: 4128 3 User: idy002 4 Language: C++ 5 Result: Accep...阅读全文
posted @ 2015-06-29 20:35 idy002 阅读(320) 评论(0) 编辑
摘要: 感谢asm.Definer清楚明了的题解:http://www.cnblogs.com/Asm-Definer/p/4470112.html收获: 1. 关于重心, 对于一个无向图, 我们这样给每条边重新确定方向: uv这条边将原图分成两个部分Su,Sv,w(S)表示S集合中点的权值和,那么 ...阅读全文
posted @ 2015-06-17 20:50 idy002 阅读(192) 评论(0) 编辑
摘要: 题意:你正在玩你最喜欢的电子游戏,并且刚刚进入一个奖励关。在这个奖励关里,系统将依次随 机抛出k次宝物,每次你都可以选择吃或者不吃(必须在抛出下一个宝物之前做出选择,且现在决定不吃的宝物以后也不能再吃)。 宝物一共有n种,系统每次抛出这n种宝物的概率都相同且相互独立。也就是说,即使前k-1次系统都抛...阅读全文
posted @ 2015-06-16 17:11 idy002 阅读(128) 评论(0) 编辑
摘要: 题意: 给一个简单无向图,一个人从1号节点开始随机游走(即以相同概率走向与它相邻的点),走到n便停止,问每条边期望走的步数.首先求出每个点期望走到的次数,每条边自然是从它的两个端点走来. 1 /****************************************************...阅读全文
posted @ 2015-06-16 15:35 idy002 阅读(182) 评论(0) 编辑
摘要: 给两个集合A,B,找满足要求的(a,b)的对数,可以计算对于a,哪些b成立.还有就是字符串hash的使用,感觉平时用字符串hash太少了. 1 /************************************************************** 2 Proble...阅读全文
posted @ 2015-06-16 15:05 idy002 阅读(259) 评论(0) 编辑
摘要: 自己只能想到O(n^2)的:dp[i][j] 表示 以i结尾,长度为j的o串的概率,然后在每次遇到x的时候算分数.正解是:dp[i]表示前i个的答案,d[i]表示以i结尾的期望长度.推的时候它用d[i]*d[i]-d[i-1]*d[i-1]来算新增的贡献,有点不明白为什么可以这样(平方的期望应该不等...阅读全文
posted @ 2015-06-15 21:33 idy002 阅读(74) 评论(0) 编辑
摘要: 大致题意: 给一棵树,每个节点最开始都是黑色,有两种操作,1.询问树中相距最远的一对黑点的距离 2.反转一个节点的颜色一种做法: 建立出树的括号序列,类似这样: [A[B][C]],所以长度为3*n 假如我们要询问AC间的距离,提取出中间的括号:[]],匹配消去后得到],其长度就是距离. 现在...阅读全文
posted @ 2015-06-15 20:28 idy002 阅读(105) 评论(0) 编辑
摘要: 题意: 给一个数集和一个数d,问满足下列要求的排列数(相同的数要区分): a[i]+d>=a[i+1] ( i in [1,n) )因为数的给出顺序不重要,所以先排序,假如我们已经解决了前i个数的答案,考虑前i+1个数,即我们可以将第i+1个数放在哪,然后发现对于前i个数的每一种方案,我们都可以选择...阅读全文
posted @ 2015-06-15 16:25 idy002 阅读(68) 评论(0) 编辑