10 2015 档案

摘要:#include#include#include#includeusing namespace std;const int maxn=5000+10;int n,m,X1,Y1,X2,Y2;int U[maxn],L[maxn];int ans[maxn];int Ans[maxn];bool fl... 阅读全文
posted @ 2015-10-31 18:24 Fighting_Heart 编辑
摘要:简单计算几何,用叉积判断点是否在四边形内部。#include#include#include#includeusing namespace std;const int maxn=5000+10;int n,m,X1,Y1,X2,Y2;int U[maxn],L[maxn];int ans[maxn]... 阅读全文
posted @ 2015-10-31 15:58 Fighting_Heart 编辑
摘要:水题#include#include#include#include#includeusing namespace std;vector g[30];int n,m;char s[200000+10],ans[200000+10];int k[30];char t1[5],t2[5];void in... 阅读全文
posted @ 2015-10-31 08:54 Fighting_Heart 编辑
摘要:水题#include#include#include#includeusing namespace std;int main(){ double l,a,b; while(~scanf("%lf%lf%lf",&l,&a,&b)) { printf("%.4lf\n"... 阅读全文
posted @ 2015-10-31 08:14 Fighting_Heart 编辑
摘要:坑点比较多的一个题目#include#include#include#includeusing namespace std;long long z[100],f[100];int T,N;int totz,totf,tot0;long long ans,x;int main(){ scanf... 阅读全文
posted @ 2015-10-30 20:35 Fighting_Heart 编辑
摘要:二分答案 + 2-SAT验证#include#include#include#include#include#includeusing namespace std;const int maxn=60000+10;int N,M;stackS;vectorG[maxn];vectorFG[maxn];... 阅读全文
posted @ 2015-10-30 14:21 Fighting_Heart 编辑
摘要:2-SAT,拆成六个点。#include#include#include#include#include#includeusing namespace std;const int maxn=60000+10;int T,N,M;stackS;vectorG[maxn];vectorFG[maxn];... 阅读全文
posted @ 2015-10-30 11:28 Fighting_Heart 编辑
摘要:2-SAT,不要所有位置全部建好边再判断,那样会MLE的。正解是,每一位建好边,就进行一次2-SAT。#include#include#include#include#include#includeusing namespace std;const int maxn=1000+10;int N;in... 阅读全文
posted @ 2015-10-29 23:22 Fighting_Heart 编辑
摘要:二分答案 + 2-SAT验证,判断正方形是否相交写起来有点烦,思路还是挺简单的。#include#include#include#include#include#includeusing namespace std;const int maxn=1005;struct Point{ doubl... 阅读全文
posted @ 2015-10-28 20:44 Fighting_Heart 编辑
摘要:2-SAT 裸题,搞之#include#include#include#include#include#includeusing namespace std;const int maxn=2000+10;int N,M;char s1[100],s2[100];stackS;vectorG[maxn... 阅读全文
posted @ 2015-10-28 14:45 Fighting_Heart 编辑
摘要:2-SAT简单题,判断一下两个开区间是否相交#include#include#include#include#include#include#includeusing namespace std;const int maxn=2000+10;int N,M;struct Time{ int S... 阅读全文
posted @ 2015-10-28 11:20 Fighting_Heart 编辑
摘要:2-SAT简单题。位运算写的时候忘记加括号WA了一发....#include#include#include#include#include#include#includeusing namespace std;const int maxn=2000+10;int N,M;char s[1000];... 阅读全文
posted @ 2015-10-27 21:20 Fighting_Heart 编辑
摘要:二分答案+ 2-SAT验证POJ 稳过,HDU C++ 超时,G++ 550ms左右AC#include#include#include#include#include#includeusing namespace std;const int maxn=1000+10;int N,A,B;int l... 阅读全文
posted @ 2015-10-27 14:53 Fighting_Heart 编辑
摘要:The 2015 China Collegiate Programming Contest2015第一届中国大学生程序设计竞赛 F题本质就是求单源最短路!注意会爆int对于每一个村庄i,其实就是花费c[i],把一个人从y[i]转移到x[i];如果一张图中,不存在w[i]==2的节点,那么花费肯定是0... 阅读全文
posted @ 2015-10-27 09:02 Fighting_Heart 编辑
摘要:二分答案 + 2-SAT判断#include#include#include#include#includeusing namespace std;const int maxn=8000+5;int M,N,T;int ans;int L,R,Mid;int a[10010],b[10010],c[... 阅读全文
posted @ 2015-10-25 09:12 Fighting_Heart 编辑
摘要:2-SAT验证 + 二分半径#include#include#include#include#includeusing namespace std;const int maxn=8000+5;int M,N;double X1[maxn],Y1[maxn],X2[maxn],Y2[maxn];int... 阅读全文
posted @ 2015-10-24 13:02 Fighting_Heart 编辑
摘要:2-SAT,判断任意两条线段是否内部互斥或者外部互斥就可以建图了。#include#include#include#include#includeusing namespace std;const int maxn=8000+5;int M,N;int L[maxn],R[maxn];struct ... 阅读全文
posted @ 2015-10-24 11:15 Fighting_Heart 编辑
摘要:2-SAT,直接选择新娘一侧的比较难做,所以处理的时候选择新郎一侧的,最后反着输出就可以。A和B通奸的话,就建边 A->B'以及B->A’,表示 A在新郎一侧的话,B一定不在;B在新郎一侧的话,A一定不在。然后再把新郎的mark标记为1,表示新郎一定选择。#include#include#inclu... 阅读全文
posted @ 2015-10-24 09:49 Fighting_Heart 编辑
摘要:2-SAT,输出字典序最小的解,白书模板。//TwoSAT输出字典序最小的解的模板//注意:0,1是一组,1,2是一组.....#include#include#include#include#includeusing namespace std;const int maxn=8000+5;int ... 阅读全文
posted @ 2015-10-24 08:09 Fighting_Heart 编辑
摘要:2-SAT,根据题意建好图,求一下强联通分量,判断一下就可以了#include#include#include#include#include#includeusing namespace std;const int maxn=6005;int T,M;vectorG[maxn];vectorFG[... 阅读全文
posted @ 2015-10-23 14:35 Fighting_Heart 编辑
摘要:2-SAT入门题,强联通分量缩点之后,如果夫妻位于同一强联通分量,则无解。#include#include#include#include#include#includeusing namespace std;const int maxn=2005;int N,M;int A1,A2,C1,C2;v... 阅读全文
posted @ 2015-10-23 11:57 Fighting_Heart 编辑
摘要:先观察一下数据范围0 #include#include#include#includeusing namespace std;int T;int MOD;long long a[1000000+5];long long ans;char s[1000];int Min;int n;int main(... 阅读全文
posted @ 2015-10-22 09:04 Fighting_Heart 编辑
摘要:水题#include#include#include#includeusing namespace std;int T;int a,b,c,d;int gcd(int a,int b){ int t; while(b) { t = a%b; a = b;... 阅读全文
posted @ 2015-10-21 22:31 Fighting_Heart 编辑
摘要:1#include#include#includeusing namespace std;int main(){ double k,p,n; while(~scanf("%lf%lf",&n,&p)) { k=pow(p,1/n); printf("%.... 阅读全文
posted @ 2015-10-14 07:58 Fighting_Heart 编辑
摘要:ZOJ Monthly, October 2015 K题二分答案+验证#include#include#include#include#includeusing namespace std;const double pi=3.1415926535898;const int maxn=100000+1... 阅读全文
posted @ 2015-10-11 22:03 Fighting_Heart 编辑
摘要:The 2015 ACM-ICPC China Shanghai Metropolitan Programming Contest2015ACM-ICPC上海大都会赛 签到题#include#include#include#includeusing namespace std;const int m... 阅读全文
posted @ 2015-10-11 08:19 Fighting_Heart 编辑
摘要:简单的几何题目点(a,b)关于直线Ax+By+C=1对称点的公式#include#include#include#includeusing namespace std;double k;double X1,Y1,X2,Y2,X3,Y3,X4,Y4;int T;double a,b,c;int mai... 阅读全文
posted @ 2015-10-09 19:01 Fighting_Heart 编辑
摘要:公式转化+二分答案首先,把题目中给的等式转化一下,变成了这个样子。等式右边的值是可以求出来的。ln(x)/x的大致图像是这样的那么只要对[0,e]和[e,+∞]分别进行二分答案即可。#include#include#include#includeusing namespace std;double ... 阅读全文
posted @ 2015-10-09 18:20 Fighting_Heart 编辑
摘要:用一个队列来维护每次加入一个字符,如果字符没有在队列里,那么直接入队,并且检查更新队列大小。如果加入的字符在队列里了,那么要一直弹出队首,直到弹出的字符和当前要插入的一样。#include#include#include#include#include#includeusing namespace ... 阅读全文
posted @ 2015-10-09 16:23 Fighting_Heart 编辑
摘要:先找规律,发现是斐波那契数列...然后..水题..#include#include#include#include#includeusing namespace std;int f[10000];char s[10000];void init(){ f[1]=1,f[2]=1; for(... 阅读全文
posted @ 2015-10-09 15:57 Fighting_Heart 编辑
摘要:扩展GCD#include#include#include#include#includeusing namespace std;__int64 extgcd(__int64 a, __int64 b, __int64 & x, __int64 & y){ if (b == 0) { x=1;... 阅读全文
posted @ 2015-10-09 15:37 Fighting_Heart 编辑
摘要:一开始以为有循环节,输出了前100项发现n>40都是0。因此,水题....#includelong long a[100];const long long MOD=2009;int main(){ a[0]=1; for(int i=1; i<=40; i++) a[i]=... 阅读全文
posted @ 2015-10-09 12:41 Fighting_Heart 编辑
摘要:http://www.zhihu.com/question/36132386 阅读全文
posted @ 2015-10-09 11:48 Fighting_Heart 编辑
摘要:DFS+剪枝有一些比较强大的剪枝,先对输入的价值排序,如果最小的超过了限制,直接输出0,如果价值最大的LimN个加起来没有超过限制,那也直接输出答案,剩下的就是常规的DFS。#include#include#include#includeusing namespace std;const int m... 阅读全文
posted @ 2015-10-08 22:35 Fighting_Heart 编辑
摘要:二分查找+最短路二分限制高度,然后求最短路#include#include#include#include#include#includeusing namespace std;const int INF=0x7FFFFFFF;const int maxn=1000+10;struct Edge{ ... 阅读全文
posted @ 2015-10-08 09:32 Fighting_Heart 编辑
摘要:乍一看是01背包,但是100000*10000的复杂度肯定是TLE的,但是(0 ≤ Vi , Ci ≤ 10),所以最多也只有100种物品,转化成多重背包去做。#include#include#includeint N,C,vv,cc;int g[15][15];char s[100];int w[... 阅读全文
posted @ 2015-10-07 19:57 Fighting_Heart 编辑
摘要:最小表示法+Map或者字典树,最小表示法找了个模板,还没学习呢...#include#include#include#include#include#includeusing namespace std;mapm;int n;char s[10010][110];char t[110];int ge... 阅读全文
posted @ 2015-10-07 19:32 Fighting_Heart 编辑
摘要:脑洞题。http://blog.csdn.net/dgq8211/article/details/7748078#include#include#include#includeusing namespace std;struct abc{ int A,B;}x[100010];int T,N;... 阅读全文
posted @ 2015-10-07 19:08 Fighting_Heart 编辑
摘要:无向图的最小割。套了个模板。#include#include#include#includeusing namespace std;#define MAXN 555#define inf 11){ int k=0,pre=0;//pre用来表示之前加入A集合的点,我们每次都以0点为第一... 阅读全文
posted @ 2015-10-07 11:24 Fighting_Heart 编辑
摘要:无向图最小割,Stoer Wanger算法。先找了个模板,日后再学习吧...#include#include#include#includeusing namespace std;#define MAXN 555#define inf 11){ int k=0,pre=0;//pre用... 阅读全文
posted @ 2015-10-07 11:15 Fighting_Heart 编辑
摘要:SPFA最长路,思路如下:先对题目中给出的每条边建边,权值为转化率;增加一个终点S,每个节点到S建边,权值为该物品的单价。假设X物品最终转化为了Y物品,那么转化之后得到的钱就是 W[x]*转化率1*转化率2*转化率3*转化率4*.....*P[Y]现在我们关注转化率1*转化率2*转化率3*转化率4*... 阅读全文
posted @ 2015-10-07 08:46 Fighting_Heart 编辑
摘要:Map水过去了#include#include#include#include#include#includeusing namespace std;mapm;vectorb;int main(){ int n; while(~scanf("%d",&n)) { m.... 阅读全文
posted @ 2015-10-06 11:06 Fighting_Heart 编辑
摘要:经典DP#include#include#include#includeusing namespace std;const int INF=0x7FFFFFFF;int T;int n;int a[100000+10];int sum[100000+10];int L[100000+10],R[10... 阅读全文
posted @ 2015-10-06 10:08 Fighting_Heart 编辑
摘要:水题#include#include#include#includeusing namespace std;int T;int n,flag=0;int d[1000];int tot;int main(){ scanf("%d",&T); while(T--){ f... 阅读全文
posted @ 2015-10-01 15:27 Fighting_Heart 编辑
摘要:一般图的最大匹配+枚举 带花树开花算法#include #include #include #include using namespace std;const int N = 250;// 并查集维护int belong[N];int findb(int x){ return belong[... 阅读全文
posted @ 2015-10-01 15:12 Fighting_Heart 编辑