上一页 1 ··· 16 17 18 19 20 21 22 23 24 ··· 44 下一页
摘要: 这个算是一个模版题,不过以前没见过。。。我冥思苦想,想爆搜,却知从何搜起,然后突然想到以前做过一个最小环的,关于某一个点的最小环两遍spfa,搞定。然后我啪啪开写,先自己把数据转化为点,然后离散一下。。。写了老长,还选择比较好写的floyd,样例过不了,意识到发现这样写不对啊。。。从网上找到了做法。。1:朴素的求最小环的方法做E遍Dijkstra,枚举每条边e(i,j),删去边e(i,j)之后,求i到j的最短路经,然后再加上该边求最小值便得到的了最小环,时间复杂度为O(E*(N^2))。2:改进的floyd算法,求出任意两点之间的最短路的同时,求出最小环。我用的是后者,因为图都建好了。。。不能 阅读全文
posted @ 2013-02-20 17:16 Naix_x 阅读(410) 评论(0) 推荐(0) 编辑
摘要: 没思路,实在是没想出如何爆搜。查看题解,认真研究了nocow上的7个提示,然后发现我还是不会写,无奈之下,看别人代码,看了很多份,终于过了。。。用到了迭代搜索(dfsid),就是说确定搜索的层数,将问题转化为n个木头能否切成k块木板,因为贪心策略,k块木板肯定是最小的k块,这样的搜索以前好像没这样写过,二分再加上两个优化就可以过了。加的是 浪费量和标记搜索木头,详细请看nocow上题解把。。。这份代码wood和board都是从小到大排的,把board从大到小排,同样也可以过,而且更快一点,但是wood必须从小到大。。。第二个优化必须根据wood从小到大。 1 /* 2 ID: c... 阅读全文
posted @ 2013-02-19 19:19 Naix_x 阅读(295) 评论(0) 推荐(0) 编辑
摘要: 题目链接注意不要用memset,手写初始化。直接map TLE,然后哈希字符串同样TLE了。。换了方法终于水过去了。 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #include <cmath> 5 #include <algorithm> 6 #include <map> 7 #include <string> 8 #include <vector> 9 using namespace std; 10 int l 阅读全文
posted @ 2013-02-18 20:41 Naix_x 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 以前一次比赛中遇见过。一直以为价值为a和b的两种钱币,最大组不成的是a*b-a-b。。。后来发现前提是a和b两个是互质的。知道这个结论,这个题目就转化为背包了。如何证明,我没想出来,也有点怀疑正确性。不过代码数据都过了。 1 /* 2 ID: cuizhe 3 LANG: C++ 4 TASK: nuggets 5 */ 6 #include <cstdio> 7 #include <cstring> 8 #include <iostream> 9 #include <cmath>10 #include <algorithm>11 u 阅读全文
posted @ 2013-02-18 16:28 Naix_x 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 终于回到实验室了。。。埋头切题。。。寒假唯一场cf,前3个比赛时候做出来了,第四个,我理解错题意+不会字符串哈希+不会trie树 == 做不出来。。D. Good Substrings先贴一份 看别人写的字典树自己改编的字典树。。。太神奇了,字典树写的这么简洁。。。 1 #include <cstdio> 2 #include <cstring> 3 #include <string> 4 #include <iostream> 5 using namespace std; 6 char str[1501],o[27]; 7 int trie[1 阅读全文
posted @ 2013-02-18 15:37 Naix_x 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 凭着感觉写的,维数有点多,脑子就有点乱。。状态转移,还是挺好想的,开个标记数组记录j-1的最大唱片数。 1 /* 2 ID: cuizhe 3 LANG: C++ 4 TASK: rockers 5 */ 6 #include <cstdio> 7 #include <cstring> 8 #include <iostream> 9 #include <cmath>10 using namespace std;11 int dp[21][21],o[21];12 int p[21];13 int main()14 {15 int i,j,k,n, 阅读全文
posted @ 2013-02-16 20:43 Naix_x 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 模板题。精度让我错了一次。 1 /* 2 ID: cuizhe 3 LANG: C++ 4 TASK: fence9 5 */ 6 #include <cstdio> 7 #include <cstring> 8 #include <iostream> 9 #include <cmath>10 using namespace std;11 int gcd(int a,int b)12 {13 return b == 0?a:gcd(b,a%b);14 }15 int main()16 {17 int x,y,p;18 int a,s,... 阅读全文
posted @ 2013-02-16 20:35 Naix_x 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 数据结构基础。忘了,还得看以前写的。。 1 /* 2 ID: cuizhe 3 LANG: C++ 4 TASK: heritage 5 */ 6 #include<stdio.h> 7 #include<string.h> 8 void build(int n,char *s1,char *s2,char *s) 9 {10 int i;11 if(n <= 0) return ;12 for(i = 0; i < n; i ++)13 {14 if(s1[0] == s2[i])15 ... 阅读全文
posted @ 2013-02-16 20:33 Naix_x 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 这个题卡了3个月啊,看了题解依旧不会写。。。从中找了一个思路比较简单,而且好写的,把每个顶点,左右微调一下,然后找出穿过起点到微调后的点 最近的边,一定可以看见。这个算法正确性,我不太确定,确实可以把所有数据过掉。。调了好久,好久,各种变量名敲错啊,后边大部分全是抄的。。。第三章终于做完了。。。那3个很快就水过了。。 1 /* 2 ID: cuizhe 3 LANG: C++ 4 TASK: fence4 5 */ 6 #include <cstdio> 7 #include <cstring> 8 #include <iostream> ... 阅读全文
posted @ 2013-02-16 20:31 Naix_x 阅读(278) 评论(0) 推荐(0) 编辑
摘要: 模板,主要是参照浙大的模板和黑书。做了POJ计划上计算几何初级上的题,成功的迈出了计算几何第一步!常用结构体和宏定义#define eps 1e-8#define PI 3.141592653#define _sign(x) ((x) > eps?1:((x) < -eps ? 2 :0))//sign(x)是用来控制精度的浙大和黑书上关于这个函数写法不一样。正返回1负返回2,接近正负eps返回0#define zero(x) (((x) > 0 ? (x):(-x)) < eps)//接近0返回0,其他返回绝对值struct Point{ double x,y;};s 阅读全文
posted @ 2013-02-12 15:46 Naix_x 阅读(341) 评论(0) 推荐(0) 编辑
摘要: 本来弄了个独立博客,想用那个的,不习惯,还是用博客园吧。那个留着吓弄吧。 在家了4天,玩了3天半,那半天学会凸包,临走回家,拿了两本书,C++ primer和黑书,还有浙大的模板,天天玩,这是要跪的节奏啊。 学凸包,黑书上讲的特好。。。 凸包,原来以为听高端的。其实,也不难的。看着黑书,和浙大模板,把POJ计划上凸包两个题,秒掉应该是没有问题的。我看那个版本的浙大模板有点问题,没有考虑所有的点都共线的情况。 期间一场CF,让我给睡过去了,scf在家做了,我好惭愧。。。回家了就是想睡觉额。。。 POJ 2187Beauty Contest 凸包之后,求最远点距离平方,1... 阅读全文
posted @ 2013-02-04 22:38 Naix_x 阅读(289) 评论(2) 推荐(0) 编辑
摘要: 题目链接本来想用java 偷懒的。。。结果。。。浪费了3个小时,血的教训啊BigInteger不能用== 来判断。。。用compareTo 或者equals来判断是否相同,我在本地对拍的好久,没拍出错来,然后最后实在是没办法了,从网上找JAVA代码。。。在晒代码里,找到一份,然后一行一行的比对。。。终于,过了。。 1 import java.io.*; 2 import java.math.*; 3 import java.text.*; 4 import java.util.*; 5 public class Main 6 { 7 public static void main(S... 阅读全文
posted @ 2013-01-23 16:03 Naix_x 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 题目链接SB了。。。20亿,我居然用了int,本来觉得这个组合情况比较多,很难写,费了好大劲错了几遍之后。。自己都觉得没错了。。还是WA,找AC代码对拍,1000以下的数据都没问题。。我仔细一看题,这是2后边9个0。。。题意:求start - end之间多少个二进制时0的个数>=1的个数。思路:求出1-key的数,相减即可。假如key二进制有len位,那么1到len-1的数都符合。特殊讨论len位的时候的情况。 1 #include <cstdio> 2 #include <cstring> 3 #include <string> 4 using na 阅读全文
posted @ 2013-01-23 10:51 Naix_x 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 题目链接这个题目的组合解法,太巧妙了。长度为n的方案数总和为C(26,n),我竟没有发现。。然后+长度和字符串相等的时候的情况,第一位默认,以后默认为前一位+1,这样才能保证递增特性。网上还有DP解法,智商拙计啊。。。 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 using namespace std; 5 int c[27][27]; 6 int main() 7 { 8 int i,j,k,len; 9 long long ans = 0;10 char str[101 阅读全文
posted @ 2013-01-22 15:36 Naix_x 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 本来想略过的,还是记录一下第一次玩TC,怎么着也算是处子秀啊。。。时间比CF短,发挥的很一般。开始看250,看了好一会才看懂题意,然后明白其水题本质,浪费了一些时间,得了190+。。然后就进入第二题,冥思了好久,同样,思考当中就感觉要挂,没有第一时间来想法的题目,就得想很久了。。。终于在思考了N久之后,觉得不能再想了,写写小数据,看看有没有规律。。。发现了可能需要拆分成质因子,组合成质因子的幂都为偶数的情况,这样想,感觉代码量不小,枚举那里的细节没想好,感觉时间复杂度要挂。。。看了看时间不多了,起思路起慢了,而且还没有完全想好。结束了。第二题ZP找到了,简单的办法,就这样把。第一次1200.. 阅读全文
posted @ 2013-01-22 11:14 Naix_x 阅读(183) 评论(0) 推荐(0) 编辑
上一页 1 ··· 16 17 18 19 20 21 22 23 24 ··· 44 下一页