07 2014 档案
摘要:题意:给出一张有向图,问最少改变多少条边的方向,使得图中存在一条从1到N的路径思路:原本有的路径权值为0,新加一个反向的路径,权值为1,这样只要走一次新加的路径,最短路就会加1,最后的长度就是新加路径的个数了 #include#include#include#includeusing namesp...
阅读全文
摘要:迷糊了好长时间,一开始有好多不理解的,到现在还没完全理清,不过比上午好多了,感觉不错,#include#include#include#includeusing namespace std;int n,m;const int maxn = 210;const int maxm = 2010;cons...
阅读全文
摘要:抠了一天的最短路问题,那个spfa还真是难写,只能照着模板打一遍,还有那个松弛操作有点明白怎么回事,但还是不太清晰,容我再抠抠,然后再用dijksta算法敲一遍这道题吧!#include#include#include#includeint n,m;const int inf = 0x3f3f3f3...
阅读全文
摘要:二分查找的代码还是写不出来,只能套用模板,本题只要找到区间内的素数然后用二分把最小的l找出来#include#include#includeusing namespace std;int a,b,c;const int maxn = 1000010;int sum[maxn],pri[maxn]; ...
阅读全文
摘要:运用KMP算法解决的一道题,求一下Next数组,然后直接找最后一个元素的next值,依次找下标为next的元素,直接用总数减去next值就是要求的一个数,直到找到next的值为0的时候结束!#include#include#includeusing namespace std;int a[10000...
阅读全文
摘要:#include#include#includeusing namespace std;int n;struct Node{ int x,id;}p[100010];bool cmp(Node x,Node y){ return x.x> n; for(int i=1;i> p[i...
阅读全文
摘要:签到题,今天就水了这么一道题,不好意思说了。。。#includeusing namespace std;int main(){ int a,b; cin >> a>> b; int c = a<b?a:b; if(c%2 == 0) cout<< "Malvika"<<...
阅读全文
摘要:并查集的水题,比赛时怎么都AC不了,后来发现是没有考虑先3 2 后1 2的情况,下次注意!#include#include#includeusing namespace std;int x[30010];int k[30010];int num[30010];int find(int y){ ...
阅读全文
摘要:题意:Flatopia岛要修路,这个岛上有n个城市,要求修完路后,各城市之间可以相互到达,且修的总路程最短.求所修路中的最长的路段最小生成树的一道题,很裸的一道题,不知道为什么就是编译过不了。#include#include#include#includeusing namespace std;in...
阅读全文
摘要:并查集的简单应用,数组开了1010个,初始化却用到了set[1010];交了好几次,都是运行错误。#includeusing namespace std;int set[1020];int find(int x){ int r= x; while(set[r] != r) r=...
阅读全文
摘要:问题描述:有一块N*N的玉米田(N#include#includeusing namespace std;int main(){ int a; while(cin >> a&& a!= 0) { int b ,count,temp =0,bj = 0; ...
阅读全文
摘要:学长口中恶意到裸题,我就只能呵呵了。主要运用一次运用扩展欧几里德算法,列举学霸教我的一个例子(6x+12y = 6的解为x =1,y = 0;所以6x1+12y1=12的解为x1/2 = x,y2/2 = y);除此之外还要在impossible的时候注意判定。#includeusing names...
阅读全文

浙公网安备 33010602011771号