上一页 1 ··· 34 35 36 37 38 39 40 41 42 ··· 52 下一页
摘要: 基础的2-SAT求任意方案的题目。Priest John's Busiest DayTime Limit: 2000MSMemory Limit: 65536KTotal Submissions: 7309Accepted: 2492Special JudgeDescriptionJohn is the only priest in his town. September 1st is the John's busiest day in a year because there is an old legend in the town that the couple who g 阅读全文
posted @ 2013-10-01 22:37 chenhuan001 阅读(301) 评论(0) 推荐(0) 编辑
摘要: 2-SAT 求出可能的解,但是这个解要是字典序最小的,所以只能采用2-SAT基本思想来解。从小到大开始,对一个可能的点染色,染为1,然后dfs其所有能到达的点,如果其中出现一个已经标号为-1的话,那么就说明这个点不能选。 然后把之前标好的号清除掉。 如果没有出现的话,那么就保持染色。 如果出现同一集合的两个点都不能染色的话就说明无解。 否则输出所有染为1的点。Peaceful CommissionTime Limit: 10000/5000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 阅读全文
posted @ 2013-10-01 15:05 chenhuan001 阅读(260) 评论(0) 推荐(0) 编辑
摘要: 第6题是利用周期性求解,第7题是 (总的序列长度-最长的满足要求的序列长度)第8题是 设定起点,可以找到最早出现的不满足条件,然后后面都是不满足的,利用队列求解这个过程大神给的简单,精炼的题解。1. 消除之王数据量为4*4,所以直接暴力dfs的层数不会超过8层,也就是dfs的复杂度为8!,然后加上一些模拟掉落的操作,总的复杂度也不会大。2. NC大数开根求整数部分。 网上大神有直接的模板附模板一份:#include #include int l;int work(int o,char *O,int I) {char c, *D=O ;if(o>0){for(l=0;D[l ];D[l++ 阅读全文
posted @ 2013-08-27 13:46 chenhuan001 阅读(287) 评论(0) 推荐(0) 编辑
摘要: #define N 100100#define M 200200int n,m;int id,index; //id表示缩点后点的id,index表示进行tarjan算法时访问的点先后int vis[N],low[N]; //vis表示到当前点的时间,low表示当前所能到达的最小时间.int stk[N],top; //表示栈int mark[N];int link[N]; //将点与缩点后的点相连.int sum[N]; //强连通分量中点的个数void dfs(int tarjan_s){ vis[tarjan_s]=++index; low[tarjan_s]=vis[tar... 阅读全文
posted @ 2013-08-22 15:11 chenhuan001 阅读(370) 评论(0) 推荐(0) 编辑
摘要: 艰难的一道题,体现出菜菜的我。。。首先,先吐槽下。 这题到底出题人是怎么想的,用普通概率dp水过??? 那为什么我概率dp写的稍微烂点就一直tle? 感觉很不公平。大家算法都一致,因为我程序没有那么简练就过不了。 太坑了。。。当然,说到底还是实力的问题,谁叫你不会一些常数级别的优化。 谁叫你写的时候不写的好一点。比赛的时候在速度秒掉了最后两题后,卡这道题卡了4个多小时,也没有心情去看其他的题目了。 期间想了各种优化的方法。 最后因为一个小错误wa了N次后没有过而遗憾终身。。。1. 直接 概率dp ,时间可能会很长,因为循环的次数达到了10^8次方,所以循环最内部的运算必须不能过多。 如果剩去% 阅读全文
posted @ 2013-08-11 11:01 chenhuan001 阅读(309) 评论(0) 推荐(0) 编辑
摘要: 算是挺简单的一道概率dp了,如果做了前面的聪聪于可可的话,这题不需要什么预处理,直接概率dp就行了。。。#include #include #include #include #include #include #include #include #include using namespace std;#define INF 0x3fffffff#define N 2020double p[N][5];int n,a,b;double dp[N][5];void dfs(int s,int k){ if(dp[s][k]>=0) return ; double tmp=0; ... 阅读全文
posted @ 2013-08-08 14:12 chenhuan001 阅读(401) 评论(0) 推荐(0) 编辑
摘要: 感觉挺经典的一道题目。 先用 bfs 预处理下一步走到的位置。因为每一步走法都是固定的,所以可以用dp的方法来做。1415: [Noi2005]聪聪和可可Time Limit:10 SecMemory Limit:162 MBSubmit:467Solved:276[Submit][Status]DescriptionInput数据的第1行为两个整数N和E,以空格分隔,分别表示森林中的景点数和连接相邻景点的路的条数。 第2行包含两个整数C和M,以空格分隔,分别表示初始时聪聪和可可所在的景点的编号。 接下来E行,每行两个整数,第i+2行的两个整数Ai和Bi表示景点Ai和景点Bi之间有一条路。 所 阅读全文
posted @ 2013-08-08 09:57 chenhuan001 阅读(325) 评论(0) 推荐(0) 编辑
摘要: // Manacher算法,很好用。char s[2*N]; //储存临时串int save[2*N];//中间记录int Manacher(char tmp[]){ int len=strlen(tmp); int cnt=0; for(int i=0;i=p) { int num=1; while(i+num=0&&s[i+num]==s[i-num]) { num++; } p=i+num-1; //能到达的最远位置 ... 阅读全文
posted @ 2013-07-30 22:47 chenhuan001 阅读(488) 评论(0) 推荐(0) 编辑
摘要: 可能没有完全读懂题意。个人觉得accaaa答案应该是4.然后就是dp了。。这题数据量小很多方法都可以,数据也水暴力据说都能过。。还有就是我竟然没有用扩展kmp优化下。。。 太无耻了,我是因为找扩展kmp的题才来看这题的。Best SequenceTime Limit:1000MSMemory Limit:10000KTotal Submissions:4217Accepted:1668DescriptionThe twenty-first century is a biology-technology developing century. One of the most attractive 阅读全文
posted @ 2013-07-30 15:49 chenhuan001 阅读(538) 评论(0) 推荐(0) 编辑
摘要: 用kmp的方法写了好久,发现以我的想法用kmp不仅难以实现而且无法证明正确性。 于是还是使用扩展kmp。。。Best RewardTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 378Accepted Submission(s): 151Problem DescriptionAfter an uphill battle, General Li won a great victory. Now the head of state decide t 阅读全文
posted @ 2013-07-29 21:46 chenhuan001 阅读(273) 评论(0) 推荐(0) 编辑
上一页 1 ··· 34 35 36 37 38 39 40 41 42 ··· 52 下一页