自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 作业二十八 单词拼接

#include#include#includeusing namespace std;struct node{ char s[31]; int first, last;};node a[1001];int degree_in[1001], degree_out[1001], m, order[1001];bool used[1001];int f(

2017-09-14 22:59:06 261

原创 作业 二十七 三国志

解题思路:Dijkstra算法(单源最短路径)和0-1背包,但是要考虑重边#include#include#include#includeusing namespace std;vector > G[105];const int INF = 1000000;int Dij[105];int isVisit[105];int City[105];int

2017-09-11 15:27:58 323

原创 作业二十六 Arbitrage

#include#include#define max 31double map[max][max];int n,m,t=1;void floyd(){ int k,i,j,exist; for(k=1;k {  for(i=1;i  {   for(j=1;j   {    if(map[i][j]    {     map[i][

2017-09-08 18:50:54 263

原创 最短路径问题 POJ 3268

解题思路:最短路径只需要从x到i的最短路径代表他们返回的最短路径,然后将所有边反过来,再从x到i的最短路径代表他们来参加聚会的最短路径,这样对应相加找出一个最大值就可以了,当然其实不需要将所有边反过来,在dijkstra里面两次查询i到x最短路dis[i],和从x回到i的最短返回距离disf[i].然后找出和的最大值即可#include #include #include #i

2017-09-06 21:06:48 282

原创 题目二十 士兵杀敌(二)

//用到树状数组,单纯用数组会超时#includeconst int MAXN =1000005;int bit[MAXN];int n,m,x,y;char c[10];int lowbit(int x){return x&(-x);}//sum(i): 求[1, i]的和;int sum(int i){int s=0;while(i>0){s

2017-08-05 17:16:46 471

原创 题目十九 汽车考察

#include#include#include#include#define max 10010using namespace std;struct node{ int dist,fuel;};node position[max];int n,L,P;bool cmp(const node &a,const node &b){ return

2017-08-03 09:16:49 287

原创 题目十八 独木舟上的旅行

#include#includeusing namespace std;int main(){int t;scanf("%d",&t);while(t--){int w,n;int a[300];scanf("%d%d",&w,&n);for(int i=0;iscanf("%d",&a[i]);sort(a,a+n);int h=n; in

2017-08-01 08:10:32 212

原创 题目十六 贪心算法+优先队列

#include#include#include#include#includeusing namespace std;struct A{ int l; int r; bool operator  return r>a.r; };}cow[2505];struct B{ int f; int num;}bot[2505];

2017-07-27 10:51:28 437

原创 题目 十五 并查集

#include#include#includeusing namespace std;struct Point{ int x,y;};const int MAXN = 1000+100;int parent[MAXN];int N,d;Point p[MAXN];bool isrep[MAXN];void make_set(){ for

2017-07-25 18:12:22 245

原创 题目 14 食物链

#includeusing namespace std;int p[150005],r[150005];void I(){for(int i=0;ip[i]=i;r[i]=0;}}int find(int i){if(p[i]!=i) p[i]=find(p[i]);return p[i];}void unions(int x,int y){

2017-07-23 20:44:17 365

原创 题目 13中位数

#include#include#includeusing namespace std;int x[10005],y[10005];int N;int p(const void *_a,const void *_b){ int *a = (int *)_a; int *b = (int *)_b; return *a-*b;}int main()

2017-07-21 20:41:05 276

原创 题目十二 子序列长度

#include#include#include#include#include#include#includeusing namespace std;#define p 1200000#define INF 0x3f3f3f3fint main(){ int dp[p]; int a[p]; int N,S,T,i,j; scanf("

2017-07-18 18:33:25 216

原创 题目十一 Apple catching

#include#includeint dp[1002][32],num[1002];int max(int a,int b){ return a>b?a:b;}int main(){ int T,W,i,j,ans; scanf("%d%d",&T,&W); for(i = 1;i  if(num[1]&1) dp[1][0] = 1; ans

2017-07-16 23:16:59 251

原创 题目 10 划分数

#includeint sum=0,n;int p(int a,int b){if(a==0)sum++;int i;if(a>0){for(i=n; i>=1; i--){if(a>=i&&b{p(a-i,i);}}}}int main(){int N;scanf("%d",&N);while(N--){

2017-07-14 23:29:20 424

原创 题目八 Sumsets

#include#define MAX 10e5+10#define MOD 10e8long long a[MAX];void fun();int main(){ int n; fun(); while(scanf("%d",&n)!=EOF) {  printf("%d\n",a[n]); }}void fun(){ int i;

2017-07-10 22:07:34 217

原创 题目六 子串和

#include#includeconst int M=1000010;int a[M];int main(){int t;scanf("%d",&t);while (t--){int n;scanf("%d",&n);for (int i=0;iscanf("%d",&a[i]);int sum,Max;Max=sum=a[0];f

2017-06-26 21:09:23 247

原创 题目五 喷水装置(二)

#include#include#includeusing namespace std;struct Equipment{int x;int r;};bool cmp(Equipment a, Equipment b){return a.x }Equipment e[10005];int main(){int t;scanf("%d", &t

2017-06-25 11:50:04 326

原创 题目四 大数的阶乘

#includeint main(){ int m; int a[9000];//确保保存最终运算结果的数组足够大 int digit=1;//位数 int temp;//阶乘的任一元素与临时结果的某位的乘积结果 int i,j,carry;//carry:进位 scanf("%d",&m); a[0]=1;//将结果先初始化为1 for(i=2;i {

2017-06-22 16:14:13 285

原创 题目三 蛇形填数(二)

思路来源:蛇形填数(一)#include #include using namespacestd;int a[100][100];void main(){    int n,count,x,y;    cin>>n;    memset(a,0,sizeof(a));  //初始化为0    count = a[x=0][y=n-1] =1;  

2017-06-20 21:07:46 235

原创 题目二 吝啬的国度

#include #include #include #define MAX 100001using namespace std;vectora[MAX];int b[MAX],n,s;void dfs(int x,int y){for (int i = 0; i if (a[x][i] != y)dfs(a[x][i],b[a[x][i]]=x);re

2017-06-15 22:38:25 190

原创 作业一 数7

题目:数7是一个简单的饭桌游戏,有很多人围成一桌,先从任意一人开始数数,1、2、3……那样数下去,逢到7的倍数(7、14、21……)和含有7的数字(17、27……)必须以敲桌子代替。如果有谁逢7却数出来了,就要接受惩罚。小明觉得这个游戏太简单了,于是对它做出了改进,那就是每逢到素数的时候就以敲桌子代替,并且数数的方向发生改变,而且最开始的那个人可以从1到10000中选一个合数,开始数数。假设现在有

2017-06-11 21:58:17 957

空空如也

空空如也

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

TA关注的人

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