- 博客(45)
- 资源 (1)
- 收藏
- 关注
原创 2014牡丹江 现场赛 F zoj 3824 Fiber-optic Network
2014牡丹江 现场赛 F zoj 3824 Fiber-optic Network 树形dp + 容斥原理
2014-10-17 09:52:52 1793 1
转载 计算几何模板
#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 686
原创 hdu1565 状压DP做的
/****** 题意:从一个矩阵中选出一些数,选出的数不能相邻,求能选出的最大的和; 思路:状压DP 也可以用什么流做,不过现在不懂图论 *******/ #include #include #include #include #define INF 0xfffffff using namespace std; int dp[20][17777], a[20][20], cn
2014-07-26 16:09:39 647
原创 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 632
原创 uva10691 几何水题
/************************************************************* 题意:给你一些点,要做一些从原点出发的射线使这些点到最近的射线的距离都不超过 d ,求最少需要做多少根射线 思路:算出每个点到与它距离不大于 d 的射线的角度的区间,然后就是区间选点的问题了,贪心 由于这是一个圈,所以要从每个开始都算一下,一个简单的方法就是把它拓展一倍 *
2014-07-26 13:09:03 636
原创 uva270 级角排序水题
/************************************************************* 题意:给你一些点,最多700个,问你最多有多少个点共线 思路:一每个点为中心,级角排序,再扫一遍 **************************************************************/ #include #include
2014-07-25 22:08:41 613
原创 uva972 Horizon Line 扫描线水题
/**************************************************************** 题意:给你两个函数f,g,要你求函数h=max(f,g),的最小值;函数f和g的图像只有平行于x轴的线 思路:扫描一遍就ok了 *****************************************************************/ #
2014-07-25 17:20:50 676
原创 uva920 扫描线水题
/************************************************************** 题意:给你一些连续的山峰,山峰一边有平行于地面的阳光,求能被阳光照到的山坡的长度 思路:先把出入的点按x排序一下,这样按顺序把点连接就是山峰了,然后从阳光来的方向扫描点,算出答案,求和 *****************************************
2014-07-25 17:17:36 680
原创 HDU4118
Holiday's Accommodation Time Limit: 8000/4000 MS (Java/Others) Memory Limit: 200000/200000 K (Java/Others) Total Submission(s): 2135 Accepted Submission(s): 595 Problem Description N
2014-03-11 23:39:40 1027
原创 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 1007
原创 HDU 3663 dancing links优化搜索
Power Stations Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 1721 Accepted Submission(s): 469 Special Judge Problem Description
2014-03-10 22:45:27 865
原创 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 657
原创 POJ1185 炮兵阵地 状压DP入门题
题目: http://poj.org/problem?id=1185 代码: #include #include #include #include #define INF 0xfffffff using 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 737
原创 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 710
原创 HDU 4373 组合数求模(Lucas定理+中国剩余定理)
一个主要问题就是364875103=97*3761599; #include #include #include #define M (364875103LL) #define M1 (97LL) #define M2 (M/M1) #define LL long long using namespace std; LL fac1[M1+9],fac2[M2+9]; LL mod(LL a
2014-02-24 20:34:07 900
原创 HDU 3401 单调队列优化DP
#include #include #include #include #include #include #define INF 0xfffffff using 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 651
原创 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 647
原创 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 642
原创 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 828
原创 ZJU 3201 树形DP
#include #include #include #include #define LL long long using 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 655
原创 HDU 4122 单调队列
#include #include #include #include #include #define LL long long using namespace std; char *month[]={ "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov" , "Dec"}; LL md
2014-02-20 14:49:14 622
原创 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 624
原创 ZJU 3261 逆向考虑,并查集
#include #include #include #include #include #include #define M 10000 using 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 652
原创 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 625
原创 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 612
原创 hdu1695 GCD 欧拉函数+容斥原理
一个主要问题,就是a和c都等于1。。。 #include #include #include #define LL long long using namespace std; #define N 100010 LL el[N]; struct NUM{ LL allp; LL prime[20]; NUM(){allp=0;} }num[N]; voi
2014-02-16 22:16:12 694
原创 一分钟内算出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 792
原创 中国剩余定理
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 739
原创 hdu1370 中国剩余定理
#include #include using 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 775
原创 hdu1212 Big Number,大数求模
#include #include using 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 793
原创 自己写的好挫的大数。。。。
#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 668
原创 #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 1178
原创 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 1091
原创 ~~~~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): 269 Problem Description For a decimal number x with
2013-09-23 15:35:42 706
原创 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 654
原创 传说中的hdu1007。Quoit Design,求最近点对~~
先是TLE了好久,又是WA了好多。。。看别人的代码终于A了,记录一下~~ #include #include #include #include #include #include #include #define N 100010 #define eps (1e-8) #define INF 99999999 using namespace std; struct point {
2013-09-10 00:13:59 650
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人