- 博客(45)
- 资源 (1)
- 收藏
- 关注
原创 2014牡丹江 现场赛 F zoj 3824 Fiber-optic Network
2014牡丹江 现场赛 F zoj 3824 Fiber-optic Network树形dp + 容斥原理
2014-10-17 09:52:52
1828
转载 计算几何模板
#include#define MAXN 1000#define offset 10000#define eps 1e-8#define PI acos(-1.0)//3.14159265358979323846//判断一个数是否为0,是则返回true,否则返回false#define zero(x)(((x)>0?(x):-(x))<eps)//返回一个数的符号,正数返回1,负数返
2014-07-26 16:24:53
726
原创 hdu1565 状压DP做的
/******题意:从一个矩阵中选出一些数,选出的数不能相邻,求能选出的最大的和;思路:状压DP 也可以用什么流做,不过现在不懂图论*******/#include #include #include #include #define INF 0xfffffffusing namespace std;int dp[20][17777], a[20][20], cn
2014-07-26 16:09:39
673
原创 hdu1115 求多边形重心
/******题意:给你一个多边形,要你求出他的重心;思路:把多边形分为n - 2个三角形,每个三角形重心为pi,面积为si,多边形重心G = sum{pi * si} / sum{si}*******/#include #include using namespace std;struct Point{ int x, y; Point operator-(co
2014-07-26 13:20:13
656
原创 uva10691 几何水题
/*************************************************************题意:给你一些点,要做一些从原点出发的射线使这些点到最近的射线的距离都不超过 d ,求最少需要做多少根射线思路:算出每个点到与它距离不大于 d 的射线的角度的区间,然后就是区间选点的问题了,贪心由于这是一个圈,所以要从每个开始都算一下,一个简单的方法就是把它拓展一倍*
2014-07-26 13:09:03
660
原创 uva270 级角排序水题
/*************************************************************题意:给你一些点,最多700个,问你最多有多少个点共线思路:一每个点为中心,级角排序,再扫一遍**************************************************************/#include #include
2014-07-25 22:08:41
631
原创 uva972 Horizon Line 扫描线水题
/****************************************************************题意:给你两个函数f,g,要你求函数h=max(f,g),的最小值;函数f和g的图像只有平行于x轴的线思路:扫描一遍就ok了*****************************************************************/#
2014-07-25 17:20:50
693
原创 uva920 扫描线水题
/**************************************************************题意:给你一些连续的山峰,山峰一边有平行于地面的阳光,求能被阳光照到的山坡的长度思路:先把出入的点按x排序一下,这样按顺序把点连接就是山峰了,然后从阳光来的方向扫描点,算出答案,求和*****************************************
2014-07-25 17:17:36
697
原创 HDU4118
Holiday's AccommodationTime Limit: 8000/4000 MS (Java/Others) Memory Limit: 200000/200000 K (Java/Others)Total Submission(s): 2135 Accepted Submission(s): 595Problem DescriptionN
2014-03-11 23:39:40
1050
原创 dancing links精确覆盖模版
#include #include #include #include #include #include using namespace std;const int N=1000009,INF=0xffffff;int n,m;///构造n行m列int U[N],D[N],L[N],R[N];int row[N],col[N];int S[N],H[N],ans[N];
2014-03-11 21:47:42
1033
原创 HDU 3663 dancing links优化搜索
Power StationsTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1721 Accepted Submission(s): 469Special JudgeProblem Description
2014-03-10 22:45:27
892
原创 ZJU 3582 期望DP
#include #include #include #include #include #define LL long long#define eps (1e-9)using namespace std;double e[55][55],p,pow1[200],pow2[200];LL C[55][55];bool vis[55][55];int n,m;void in
2014-02-27 14:09:12
684
原创 POJ1185 炮兵阵地 状压DP入门题
题目:http://poj.org/problem?id=1185代码:#include #include #include #include #define INF 0xfffffffusing namespace std;int dp[109][60][60],h[109],cnt,s[1<<10],num1[1<<10],n,m;int num(
2014-02-26 21:36:56
760
原创 ZJU 3349 线段树优化DP
#include #include #include using namespace std;const int N=100009;struct Sort_a{ int a,i; Sort_a(int x=0,int y=0){a=x;i=y;} bool operator<(const Sort_a &tt) const {return a<tt.a;}}p
2014-02-24 20:35:35
743
原创 HDU 4373 组合数求模(Lucas定理+中国剩余定理)
一个主要问题就是364875103=97*3761599;#include #include #include #define M (364875103LL)#define M1 (97LL)#define M2 (M/M1)#define LL long longusing namespace std;LL fac1[M1+9],fac2[M2+9];LL mod(LL a
2014-02-24 20:34:07
924
原创 HDU 3401 单调队列优化DP
#include #include #include #include #include #include #define INF 0xfffffffusing namespace std;struct St{ int v,k; St(int a=0,int b=0){v=a;k=b;}}st[2009];int dp[2009][2009];int ma
2014-02-22 23:46:58
678
原创 ZJU 3686 线段树
#include #include #include using namespace std;const int N=100009;struct Edge{ int v,next;}edge[N];struct Hash{ int a,b;}h[N];struct Tree{ int l,r,cover,val; Tree *lson,*rs
2014-02-21 22:15:39
671
原创 HDU 2888 二维RMQ
#include #include #include using namespace std;int a[303][303],maxn[10][10][301][301],n,m;void initRmq(){ int i,j,x,y; for(i=0;i<n;i++) for(j=0;j<m;j++) maxn[0][0][i][j]=a[i][j]; f
2014-02-21 01:55:06
658
原创 HDU 3900 状压BFS
#include #include #include #include #include #include #define LL long long#define print(k) cout<<#k"="<<k<<endl;using namespace std;struct State{ LL state,step;};struct Block{ LL
2014-02-20 21:59:32
854
原创 ZJU 3201 树形DP
#include #include #include #include #define LL long longusing namespace std;struct Node{ LL v,al,p; LL son[110];}node[110];LL dp[110],ans[110][110],n,k,root;void dfs(int n){ in
2014-02-20 14:53:43
671
原创 HDU 4122 单调队列
#include #include #include #include #include #define LL long longusing namespace std;char *month[]={ "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov" , "Dec"};LL md
2014-02-20 14:49:14
644
原创 HDU 1401 双广
#include #include #include #include #include #include #include #include using namespace std;int pos[4]={1,10,-1,-10};struct str{ int x,step;}t1,t2;int get_st(int x){ int a[4],i,
2014-02-20 14:48:14
640
原创 ZJU 3261 逆向考虑,并查集
#include #include #include #include #include #include #define M 10000using namespace std;struct Node{ int p; int x;}node[10010];struct Op{ int o,n;}op[50010];int tun[20010],
2014-02-19 00:55:08
671
原创 hdu1813 IDA* 好高端的样子。。。
#include #include #include #include using namespace std;struct st{ st *pre; int a;}*p1;struct point{ int x,y; point(){} point(int a,int b){x=a;y=b;}}p[40];int m[9][9],h[
2014-02-18 10:55:26
642
原创 hdu1316
100位数字以下的斐波拉奇数只有481个,全搞出来然后枚举就行了。#include #include #include using namespace std;const int last=110;void char_to_int(char *s,int *a){ int i=strlen(s)-1,j=last; while(i>=0 && j>=0
2014-02-16 23:40:17
632
原创 hdu1695 GCD 欧拉函数+容斥原理
一个主要问题,就是a和c都等于1。。。#include #include #include #define LL long longusing namespace std;#define N 100010LL el[N];struct NUM{ LL allp; LL prime[20]; NUM(){allp=0;}}num[N];voi
2014-02-16 22:16:12
721
原创 一分钟内算出21位数的水仙花数
#include#include #include #include #include #include #include#define LL long long#define M ((LL)100000000000000)#define n (21)using namespace std;bool cmp(LL a,LL b){ return a>b;}L
2013-12-12 16:04:22
806
原创 中国剩余定理
int china(int n,int *m,int *r){ int i,M=1,ans=0; for(i=0;i<n;i++) M*=m[i]; for(i=0;i<n;i++) { int w=M/m[i],x,y; gcd(w,m[i],x,y); ans=(ans+w*x*r[i])%M; }
2013-11-06 20:25:29
764
原创 hdu1370 中国剩余定理
#include#includeusing namespace std;int gcd(int a,int b,int &x,int &y){ if(b==0) { x=1;y=0;return a; } int g=gcd(b,a%b,y,x); y-=x*(a/b); return g;}int china(int
2013-11-06 17:49:09
799
原创 hdu1212 Big Number,大数求模
#include#includeusing namespace std;int pow(int n,int m){ int ans=1,a=10; while(n) { if(n&1) ans*=a; a*=a; ans%=m; a%=m; n>>=1; } retur
2013-11-06 15:35:47
819
原创 自己写的好挫的大数。。。。
#include#include#include#include#include#include#define LL long long#define s2 (sqrt(2))using namespace std;struct big_int{ int v[1000]; int len; big_int() { memset(
2013-10-30 13:42:00
679
原创 #The 9th Hunan Collegiate Programming Contest#B.Boxes in a Line,双向链表的操作。。。
第9届湖南省赛B题题意就是给你1~n,n个数按顺序排好,然后4个操作,t=1时,把x放到y左边;t=2时,把x放到y右边;t=3时,把x跟y换一下;t=4时,整个数列倒序;最后问从第一个数开始奇数位置的数之和如果用链表,1,2,3,都容易实现,但是t=4时用链表怎么搞呢。。。不用怕。。。倒序就相当于左右变换一下嘛,那么,就容易解决啦~
2013-10-13 23:46:05
1201
原创 hdu1006 Tick and Tick 区间交集
题意:一个时钟,有三根指针,秒钟分钟和时钟,当每跟指针跟其他两根相差角度大于x时,为happy的时间,给定x求一天中有百分之多少的时间是happy的;#include#include#include#include#include#include#include#define N 100010#define dw (0.1)#define eps (1e-6)#
2013-09-27 12:50:55
1110
原创 ~~~~2013成都网赛f(x) hdu4734 数位dp~~~~
F(x)Time Limit: 1000/500 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 712 Accepted Submission(s): 269Problem DescriptionFor a decimal number x with
2013-09-23 15:35:42
725
原创 hdu2089 不要62 数位dp
#include#include#include#include#include#include#include#include#include#include#define N (100010)#define eps (1e-8)#define is_0 (fabs(x)<eps)#define INF (99999999)using namespace std;
2013-09-15 22:04:47
665
原创 传说中的hdu1007。Quoit Design,求最近点对~~
先是TLE了好久,又是WA了好多。。。看别人的代码终于A了,记录一下~~#include#include#include#include#include#include#include#define N 100010#define eps (1e-8)#define INF 99999999using namespace std;struct point{
2013-09-10 00:13:59
668
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人