自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(99)
  • 收藏
  • 关注

原创 POJ 3518

#include#include#include#include#include #include#include#includeusing namespace std;const int maxn=1299710;bool u[maxn];int ans[maxn];void prepare(){ int i,j,k; for(i=2;i<maxn;i++)u

2017-09-30 00:27:15 378

原创 POJ 2262

#include#include#include#include#include #include#include#includeusing namespace std;bool u[1111111];int su[1111111];int num;void prepare(){ int i,j; memset(u,true,sizeof(u)); for(i=2

2017-09-30 00:04:16 257

原创 POJ 2828

#include#include#include#include#include#include #include#define maxn 200100using namespace std;int pos[maxn],val[maxn],size[maxn<<2],ans[maxn],point[maxn];int n;void build_tree(int l,in

2017-09-29 09:49:48 260

原创 ZOJ 2760

#include#include#include#include#include #include#include #include#include#define inf 0x3f3f3f3f#define INF 1<<20using namespace std;const int MAX_V=220; struct edge{ int to,cap,rev;};

2017-09-17 15:41:08 268

原创 POJ 2187

求最远点对距离的平方。#include#include#include#include#include #include#include#includeusing namespace std;const int maxn=50010;const int eps=1e-10;double add(double a,double b){ if(abs(a + b)<eps

2017-09-17 00:51:18 270

原创 POJ 1127

给出木棍两端坐标,判断木棍是否相连。#include#include#include#include#include #include#includeusing namespace std;double eps=1e-10;const int maxn=13;const int maxm=10010;double add(double a,double b){ i

2017-09-16 22:45:00 215

原创 noip2011

点击打开链接#include#include#include#include#includeusing namespace std;int n,k,price,c,v,s,f;int a[65],b[65],u[65];int main(){ scanf("%d%d%d",&n,&k,&price); for(int i=1;i<=n;i++) { scanf(

2017-07-07 16:47:13 307

原创 URAL 1005

一堆石头分成两队求最小的差值。#include#include#include#include#includeusing namespace std;int a[22];int dp[2500000];int main(){ int n; cin>>n; int sum=0; for(int i=0;i<n;i++) { cin>>a[i]; sum+=

2017-07-07 16:41:57 342

原创 合并石头

合并一堆环形石头,每次相邻两堆能合并,代价为合并的两堆数量之和,求最小最大代价。

2017-07-07 16:36:40 321

原创

给定一个整数序列为1到n的排列,给出连边的命令,从一个区间选出最大最小值相连,给出询问,问两个点是否连通。#include#include#include#include#includeusing namespace std;int n,m,k;struct node{ int minn,maxx;};#define maxv 101100node arr[maxv

2017-07-07 15:36:10 203

原创 网络流模板

struct edge{ int to,cap,rev;}vectorG[MAX_V];int level[MAX_V];int iter[MAX_V];void add_edge(int from,int to,int cap){ G[from].push_back((edge){to,cap,G[to].size()}); G[to].push_back((edge){

2017-07-07 15:35:31 275

原创 prufer code

计算n个节点,k个叶子的树的数目。#include#include#include#include#include#includeusing namespace std;const int maxn=105;const int m=2007;int c[maxn][maxn];int g[maxn][maxn];void init(){ for(int i=0;i

2017-07-07 09:35:15 479

原创 矩阵

给出一个矩阵,要求统计左上方的所有子矩阵中不同元素的个数。#include#include#include#include#include#includeusing namespace std;const int maxn=1005;int A[maxn][maxn];int B[maxn][maxn];int R[maxn][maxn];int NC[maxn*max

2017-07-07 08:29:17 343

原创 noip 能量项链

点击打开链接#include#include#include#include#include#includeusing namespace std;int m[205][205];int n,temp,p[205];void matrixch(int p[],int n){ int i,j,k,r; for(r=2;r<=n;r++) for(i=1;i<=n;i

2017-07-07 08:27:31 516

原创 机械臂

n个机械臂读取n-1条记录,代价为距离差,求最小总代价。#include#include#include#include#include#includeusing namespace std;#define maxn 10005int n;int s[maxn];int t[maxn];int i,j,k;int a[maxn];int b[maxn];int n

2017-07-07 07:56:45 597

原创 noip 2000 乘积最大

点击打开链接#include#include#include#include#includeusing namespace std;char str[41];long g(int start,int end){ long i; long s=0,t=1; for(i=end;i>=start;i--) { s+=(str[i]-'0')*t; t*=10;

2017-07-07 04:25:23 251

原创 URAL 1167

f[i][j]为第i个马厩分配j匹马的最小冲突值。#include#include#include#define INF 1<<20using namespace std;int f[505][505],a[501],s[501];int main(){ int n,k; int minn; scanf("%d%d",&n,&k); for(int i=1;i<=n;i

2017-07-07 04:16:48 253

原创 zoj 2042

opt[i,j]表示前i个数%k是否可以得到余数为j的结果。#include#include#include#include#define clr(a) memset(a,0,sizeof(a))#define N 10001#define M 101using namespace std;int a[N];int b[N][M];int p,q;int n,m;int

2017-07-07 03:15:51 207

原创 数论模板

const int maxn=1025;const int maxp=33;//sqrtconst int maxl=11;//logbool isprime[maxp];int prime[20],c[maxn];void makeprime(){ int i,j; memset(isprime,1,sizeof(isprime)); for(i=2;i<=maxn;i++

2017-07-07 02:42:36 190

原创 zoj 2271

不知道为什么过不了。#include#include#includeusing namespace std;int dir[301][301]={0};float p[301][301]={0},q[301][301]={0};int main(){ int n; while(~scanf("%d",&n)) { memset(dir,0,sizeo

2017-07-07 02:34:05 249

原创 noip2003 数字游戏

点击打开链接#include#include#include#define INF 1<<20using namespace std;int Max,Min,n,m,line[200],sum[200];int f[200][20];int g[200][20];void dp(int a[]){ int i,j,k; for(i=1;i<=n;i++) sum[i]

2017-07-06 21:39:02 997

原创 轰炸问题、连续子序列的积、n个最大连续子序列和

#include#include#includeusing namespace std;int m,n,h,w;int a[1001][1001],su[1001][1001];int main(){ int i,j,Ma=-INT_MAX; cin>>m>>n>>w>>h; for(i=1;i<=m;i++) for(j=1;j<=n;j++) { cin>>a[i

2017-07-06 13:09:36 258

原创 IOI96 最长前缀

P1809【USACO2.3.1】Longest Prefix最长前缀 IOI’96时间限制 : 15000 MS 空间限制 : 65536 KB问题描述 在生物学中,一些生物的结构是用包含其要素的大写字母序列来表示的。生物学家对于把长的序列分解成较短的序列(即元素)很感兴趣。 如果一个集合 P 中的元素可以通过串联(元素可以重复使用,相当于 Pascal 中的 “+”

2017-07-06 12:27:34 442 1

原创 Ural1017

将一个整数N拆成几部分,各部分的值互不相同。#include#include#include#includeusing namespace std;long long f[1005];int main(){ int n; cin>>n; f[0]=1; for(int i=1;i<n;i++) for(int j=n;j>=i;j--) f[j]+=f[j-i];

2017-07-06 10:42:47 256

原创 noip2001 数的划分

给定一个整数n,将其划分成k份。#include#include#include#define MM 201using namespace std;int f[MM][8],n,kind;int main(){ cin>>n>>kind; f[1][1]=1; for(int i=2;i<=n;i++) for(j=1;j<=kind;j++) if(i>=j) f

2017-07-06 09:47:24 394

原创 动态规划经典问题

股票问题给出一只股票在n天内的价格,求1元本金的最大收益。#include#include#include#include#include#includeusing namespace std;int main(){ int i,n; double v,f=1,g=0; scanf("%d",&n); for(int i=1;i<=n;i++) { scan

2017-07-06 09:34:16 234

原创 hdu 3535 混合背包

#include#include#include#include#include#include#include#includeusing namespace std;#define MAXV 410#define MAXM 40010typedef struct{ int h,a,c;}Blocks;Blocks v[MAXV];int cmp(Blocks

2017-07-06 09:13:32 164

原创 POJ 2392

多重背包。#include#include#include#include#include#include#include#includeusing namespace std;#define MAXV 410#define MAXM 40010typedef struct{ int h,a,c;}Blocks;Blocks v[MAXV];int cmp

2017-07-06 08:24:50 287

原创 POJ 2192

DescriptionGiven three strings, you are to determine whether the third string can be formed by combining the characters in the first two strings. The first two strings can be mixed arbitrarily, bu

2017-07-06 03:17:53 339

原创 zoj 1254

Mr. Jones is an exemplary husband. Every Saturday morning Mrs. Jones gives him a list of goods to be bought from the supermarket and he buys exactly what he has been asked for, always choosing the b

2017-07-06 02:40:30 444

原创 USACO 3.3.2

【描述】在商店中,每一种商品都有一个价格(用整数表示)。例如,一朵花的价格是 2 zorkmids (z),而一个花瓶的价格是 5z 。为了吸引更多的顾客,商店举行了促销活动。促销活动把一个或多个商品组合起来降价销售,例如:三朵花的价格是 5z 而不是 6z, 两个花瓶和一朵花的价格是 10z 而不是 12z。 编写一个程序,计算顾客购买一定商品的花费,尽量利用优惠使花费最

2017-07-06 02:05:11 357

原创 资源分配

给定M个资源,分配给N个部门,每个部门获得不同数目的资源有不同的盈利值,求怎样分配使得盈利值最大。

2017-07-06 01:32:02 693

原创 UVA 10003 切割能量棒

#include#include#include#include#include#include#define INF 1<<20using namespace std;int main(){ int length,n,i,j,x,y,temp,l,k,tt,sum; int t[51][51],p[51]; while(scanf("%d",&length)&&leng

2017-07-05 20:44:07 284

原创 流水作业调度问题

n个作业交给两台机器处理,每个机器处理每个作业都有一个时间,求处理完成所有任务的最短时间。#include#include#include#include#include#include#define INF 1<<20using namespace std;int p[2000]={0};int main(){ int n; int i,j,k,sa=0,sb=0,

2017-07-05 20:25:46 590

原创 vijos1143

#include#include#include#include#include#include#define INF 1<<20using namespace std;int main(){ int f[41][21][21][21],w[21][21]; int n,m,i,j,k,s,x1,x2,x3,y1,y2,y3,d1,d2,d3,get; memset(f,0

2017-07-05 14:33:22 158

原创 POJ 3311

#include#include#include#include#include#include#define INF 1<<20using namespace std;int dis[12][12];int dp[1<<11][12];int n,ans,minx;int main(){ while(scanf("%d",&n)&&n) { for(int i=0

2017-07-05 13:47:02 188

原创 RQNOJ愚蠢的矿工

题目描述背景Stupid 家族得知在HYC家的后花园里的中央花坛处,向北走3步,向西走3步,再向北走3步,向东走3步,再向北走6步,向东走3步,向南走12步,再向西走2步( - -||)就能找到宝藏的入口,而且宝藏都是藏在山里的,必须挖出来,于是Stupid家族派狗狗带领矿工队去挖宝藏.(HYC家的宝藏被狗狗挖走后有什么感想?)描述这个宝藏的制造者为了掩盖世

2017-07-05 07:54:06 441

原创 选课

题目描述学校实行学分制。每门的必修课都有固定的学分,同时还必须获得相应的选修课程学分。学校开设了N(N  在选修课程中,有些课程可以直接选修,有些课程需要一定的基础知识,必须在选了其它的一些课程的基础上才能选修。例如《Frontpage》必须在选修了《Windows操作基础》之后才能选修。我们称《Windows操作基础》是《Frontpage》的先修课。每门课的直接先修课最多只有一门。

2017-07-05 03:14:56 314

原创 选上司

给出一棵树,每个节点都有一个值,选了一个结点不能选它的儿子和父亲结点。#include#include#include#include#include#includeusing namespace std;int N,f[6001][2],parent[6001];bool visited[6006];void tree_dp(int node){ if(!visite

2017-07-05 03:00:14 142

原创 KM算法

const int MAX=1024;int n;int w[MAX][MAX];int A[MAX],B[MAX];bool visitx[MAX],visity[MAX];int match[MAX];void init(int size){ n=size; for(int i=0;i<n;i++) for(int j=0;j<n;j++) cin>>w[i][j];

2017-07-03 18:32:39 195

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除