上一页 1 ··· 7 8 9 10 11
摘要: 题大意:给你n 和r;r表示最大半径不能超过这个数后面给定n个点的坐标,y 大于零,输出如果不能全部覆盖输出 -1 一开始还以为只要有一个满足就输出-1 结果我错了 这是一道区间选点问题 #include<iostream>#include<cmath>#include<algorithm>using namespace std;const int N=1010;typedef struct x_y{ double x,y;}X_Y;X_Y a[N];int fun(X_Y a,X_Y b){ if(a.x<b.x) return 1; else re 阅读全文
posted @ 2012-11-26 21:05 heity 阅读(118) 评论(0) 推荐(0) 编辑
摘要: #include#include#define N 1000010int c[N];int m = 0;int l(int n){ return n&(-n);}void add(int k,int num){ while(k>0) { c[k] += num; k -= l(k); }}int print(int k){ int sum = 0; while(k<m) { sum+=c[k]; k += l(k); } return sum;}int main(){ int n; memset(c,0,sizeof(c)); scanf("%d%d", 阅读全文
posted @ 2012-11-24 09:47 heity 阅读(613) 评论(0) 推荐(0) 编辑
摘要: http://acm.nyist.net/JudgeOnline/problem.php?pid=590描述给出一些数a1,a2,a3,a4.....,an,如果一个连续的字串的和等于常数m,那么这个子串就是我们想要的,那么问题很简单,请求出这样字串的个数?例如:3,4,1,6,2,5,m的值为7时,连续字串分别为{3,4},{1,6},{2,5}满足输入每种情况,第一行2个数n,m,n表示有多少个数,m是常数(有多组测试数据)第二行是n个数的值 (所有的数小于1000)输出每种情况个数input:5 64 2 4 3 35 74 2 3 2 7output:22代码:#include< 阅读全文
posted @ 2012-11-22 21:30 heity 阅读(538) 评论(0) 推荐(0) 编辑
摘要: 网上资源很多,百度一下你就知道代码:#include#include#define N 1000010int c[N],a[N];int n = 0;int l(int i){ return i&(-i);}void change(int i,int m){ int j; for(j = i; j 0) { s+=c[i]; i -= l(i); } return s;}int main(){ int m; scanf("%d%d",&n,&m); memset(c,0,sizeof(c)); int i; for(i =1 ; i <= n; 阅读全文
posted @ 2012-11-21 21:20 heity 阅读(773) 评论(0) 推荐(0) 编辑
摘要: 以结束时间排序,一开始用了先按照开始时间排序,开始时间相同的按结束时间排,很荣幸的WA了,沉思了一会,用了以结束时间来排序,提交 AC了,纠结了一会儿,这个。。。。。。。。。。若以开始时间排序的话,例如:1 7 , 2 5这样会早早提前结束活动安排。所以。。。。。。。。。。。代码:#include<iostream>#include<algorithm>using namespace std;typedef struct room{ int a; int b;}room;const int N=10010;room f[N];int fun(room x,room y) 阅读全文
posted @ 2012-11-20 09:19 heity 阅读(125) 评论(0) 推荐(0) 编辑
摘要: #include<iostream>#include<cstring>#include<algorithm>using namespace std;typedef struct char_c{ char ch[6];}char_c;int fun(char_c a,char_c b){ int i; for(i=0;i<5;i++) { if(a.ch[i]>b.ch[i]){return 1;break;} if(a.ch[i]<b.ch[i]) {return 0;break;} }}int main(){ int n; const i 阅读全文
posted @ 2012-11-19 16:05 heity 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 整数划分问题(递归法) 整数划分问题是算法中的一个经典命题之一,有关这个问题的讲述在讲解到递归时基本都将涉及。所谓整数划分,是指把一个正整数n写成如下形式: n=m1+m2+...+mi; (其中mi为正整数,并且1 <= mi <= n),则{m1,m2,...,mi}为n的一个划分。 如果{m1,m2,...,mi}中的最大值不超过m,即max(m1,m2,...,mi)<=m,则称它属于n的一个m划分。这里我们记n的m划分的个数为f(n,m); 例如但n=4时,他有5个划分,{4},{3,1},{2,2},{2,1,1},{1,1,1,1}; 注意4=1+3 和 4=3 阅读全文
posted @ 2012-11-18 17:25 heity 阅读(224) 评论(0) 推荐(0) 编辑
上一页 1 ··· 7 8 9 10 11