上一页 1 ··· 25 26 27 28 29 30 31 32 33 ··· 44 下一页
摘要: 题目链接题意:最小生成树是否唯一。数据比较水,用最朴实的方法过的,O(n^2+e)再学一学,这个朴实方法改了N处,,思路简单,Kruskal写的,就是删除生成树里的每一条边,求最小生成树,唉,这是写的啥啊。。。。 1 #include <cstdio> 2 #include <cstring> 3 #include <map> 4 #include <cmath> 5 #include <algorithm> 6 using namespace std; 7 int o[101],num,sum,m,n; 8 struct edge 阅读全文
posted @ 2012-10-03 15:35 Naix_x 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 题目链接不理解,不明白啊,不互质的时候,思路是两个方程合并成一个,再合并,最后求出结果。。。这个博客讲的不错。 1 #include <cstdio> 2 #include <cstring> 3 #include <map> 4 #include <cmath> 5 using namespace std; 6 #define ll __int64 7 ll p[11],o[11]; 8 ll x,y; 9 ll ext_eulid(ll a,ll b)10 {11 ll t,d;12 if(b == 0)13 {14 x = 1;15 ... 阅读全文
posted @ 2012-10-02 20:40 Naix_x 阅读(301) 评论(0) 推荐(0) 编辑
摘要: 这次CF做的真是太生疏了,好久没做比赛了,果断CF被虐惨了。。。A题裸贪心,因为对C++的sort还不大熟,敲了12分钟,然后更悲剧的是结构体里面的一个符号写错了,让我怀疑算法正确性了。。。这场注定要悲剧了,20分钟才过了第一个题,然后B题,求判断是否是含有3个因子,前些天刚思考一个问题,那就是完全平方数的因子一定是奇数个,所以很快就发现就是素数的完全平方啊,自己又SB了,第一次,筛选素数敲错,第二次,盲查数据,发现1错了。。。要不是这样又要被查爆了,磕磕绊绊来到了C,题意还是挺好理解(注意特殊情况),然后觉得可做,感觉像是二分,一开始算法就想错了,我把第一行定住,然后再去找,肯定错了。。.. 阅读全文
posted @ 2012-10-02 13:41 Naix_x 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 题目链接虽然不是很理解,看着模版和讲解对这个题改编了一下,就过了。顺便整理一下中国剩余定理当作模版,在网上居然搜到海大wangs的博客了,第一眼居然没看出来,orz大神。。。以下这段话从他博客上复制的。至于原理百度百科吧。。。设m1,m2,...,mk是两两互素的正整数,对于任意的正整数a1,a2,a3,..,ak 同余方程组: x≡a1 (mod m1) x≡a2 (mod m2) ... x≡ak (mod mk) 必有解, 且解可写为 x≡M1N1a1+MkNkak+....MkNkak (mod m) 其中 m=m1m2m3....mk Mi=m/mi,(1<=i<=k) 阅读全文
posted @ 2012-10-01 20:40 Naix_x 阅读(215) 评论(2) 推荐(0) 编辑
摘要: 题目链接水过的,就是普普通通的枚举上一层和这一层,应该可以加上队列优化,降复杂度。 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #include <cmath> 5 #define eps 1e-9 6 #define INF -10000000 7 #define ll __int64 8 using namespace std; 9 int dp[21][18000],p[21][21],o[18000];10 int main()11 {12 int n, 阅读全文
posted @ 2012-10-01 18:03 Naix_x 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 题目链接和那天网络赛很相似,倒着推,这是二维的情况。注意提交别用G++,真坑啊。 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #include <cmath> 5 #define eps 1e-9 6 using namespace std; 7 double p[1005][1005]; 8 int main() 9 {10 int n,m,i,j;11 while(scanf("%d%d",&n,&m)!=EOF)12 { 阅读全文
posted @ 2012-09-30 21:22 Naix_x 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 题目连接多校的题目,和网络赛那个多么的相似啊。。。枚举每个状态 含有奇数的期望-偶数卡的期望,就是最后的结果。 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #include <cmath> 5 #define eps 1e-9 6 using namespace std; 7 double p[21]; 8 int main() 9 {10 int n,num;11 __int64 i,j;12 double ans,t;13 while(scanf(" 阅读全文
posted @ 2012-09-30 21:19 Naix_x 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 题目链接理解了过程就是个水题,收拾东西回家。 1 #include <cstdio> 2 #include <iostream> 3 #include <cstring> 4 using namespace std; 5 #define N 100000 6 double dp[N+1]; 7 int p[N+1]; 8 int main() 9 {10 int i,j,n,m,sv,ev;11 while(scanf("%d%d",&n,&m)!=EOF)12 {13 if(!n&&!m) break;1 阅读全文
posted @ 2012-09-28 17:10 Naix_x 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 题目链接早就见过这个题,开始以为有公式的,推了几次没推出,后来知道这个题是状态压缩DP。最近开始看状态压缩,本想试着解出来,但是这个比那个牛吃草复杂多了。。。位运算还是不是很熟练,这个题的解题报告有很多方法,最重要的就是状态转移,基本上都是用DFS写的,我看的做法是DISCUSS里的做法。用1表示横放,0表示竖放。然后转移的时候吧上一行的状态取反(~j&((1<<m)-1),然后去DFS就行了,注意是在(~j&((1<<m)-1)这个数字的二进制基础上进行DFS,加入横放或者竖放。结束的状态就是矩阵的所有的元素都是1. 1 #include <io 阅读全文
posted @ 2012-09-27 19:11 Naix_x 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 题目链接看的这个博客,讲的很好,初学状态压缩,对位运算操作还不是很熟,有很多用法,然后就是这个题,开始想用队列优化一下,存上一层合法情况的下标的,老是RE不知为何。。改成暴力的找,居然0ms就过了,这让我情何以堪啊。。。 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #include <cstdlib> 5 #include <cmath> 6 #include <map> 7 #include <queue> 8 #inclu 阅读全文
posted @ 2012-09-26 09:46 Naix_x 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 题目链接这个我是用记忆化搜索写的。比赛的时候卡死在这里,以为是个简单的二维DP,思维被局限了,以前也没怎么做过区间DP,没做出,不过还是觉得理解了状态状态转移,代码什么的都是很短。dp[x][y][z]的意义是在x-y这一段上,前面已经有z-1个人唱歌了,所取得的最小值,这个DFS的写的有点感觉像是树形DP,递推能力太搓了。 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #include <cstdlib> 5 #include <cmath> 6 # 阅读全文
posted @ 2012-09-25 20:10 Naix_x 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 题目链接容斥原理不会,map不会,状态压缩不会。做毛线。。。题目大意:给出1-n,n个数,有两个操作1是询问x-y区间上与p互质的数的和是多少,2是改变x位置上的数为c。自己确实办不了,map这样用第一次见,容斥原来用的这么高端,状态压缩知道,但是这个运用的很神,多亏了宝哥讲解,代码实在是看都看不懂。。。只有1000次的操作,先把x-y没有改变时候的情况下,求出,然后再计算在这个区间上是否有改变,这个用map来记录。然后就是求互质的问题了,这里要用到容斥原理,首先很明显两个数如果互质,则这两个数的质因子没有一个相同,所以只要把p的含有质因子的数在x-y上的和求出来,为了方便求1-y的然后减去1 阅读全文
posted @ 2012-09-24 22:40 Naix_x 阅读(309) 评论(0) 推荐(0) 编辑
摘要: 题目链接如此裸的题,竟然写了近1个小时,最近做题太少了。签到题都做的这么慢,而且写的代码真心没法看了。。。 1 #include <cstdio> 2 #include <cstring> 3 #include <iostream> 4 using namespace std; 5 #define LL __int64 6 LL map[30][30]; 7 int ans,len,o[16]; 8 void dfs(int k,int step) 9 {10 LL x,y;11 int z,i,j;12 if(step == len)13 {14 ... 阅读全文
posted @ 2012-09-22 20:47 Naix_x 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 转者注:令人纠结的网络赛,实在是纠结,最近刚加上zlq学长,看看学长空间,发现此篇文章,写的不错。。。就在此时学长们又过了一个题。。。—————————————————————————————分割线————————————————————————————————————实际上呢~实际上呢 上了大学 不代表就轻松了实际上呢 不是学精两门课程 就可以一劳永逸了实际上呢 很多课程都很重要 只不过我们没有意识到实际上呢 我们所学的东西形成了一张大网 可惜我们还是没有意识到实际上呢 老师们也是为了我们好 特殊情况他们会特殊对待的实际上呢 人心确实可以像一缕阳光 把人从睡梦中唤醒实际上呢 人心也确实可以像 阅读全文
posted @ 2012-09-22 16:45 Naix_x 阅读(243) 评论(2) 推荐(0) 编辑
摘要: 归并排序。以后留着复习数据结构用,看了很多个版本,这个版本写的比较好,我改编了一下。 1 #include <iostream> 2 #include <cstdio> 3 using namespace std; 4 #define N 1000000 5 int que[N],p[N];; 6 void Mergesort(int l,int r) 7 { 8 int mid,i,j,t; 9 if(l < r)10 {11 mid = (l+r)/2;12 Mergesort(l,mid);13 Mergesort(... 阅读全文
posted @ 2012-09-21 21:42 Naix_x 阅读(159) 评论(0) 推荐(0) 编辑
上一页 1 ··· 25 26 27 28 29 30 31 32 33 ··· 44 下一页