Codeforces #105 DIV2 ABCDE
开始按照顺序刷刷以前的CF。
- #include <map>
- #include <set>
- #include <list>
- #include <cmath>
- #include <ctime>
- #include <deque>
- #include <stack>
- #include <queue>
- #include <cctype>
- #include <cstdio>
- #include <string>
- #include <vector>
- #include <climits>
- #include <cstdlib>
- #include <cstring>
- #include <iostream>
- #include <algorithm>
- #define LL long long
- #define PI 3.1415926535897932626
- using namespace std;
- int gcd(int a, int b) {return a % b == ? b : gcd(b, a % b);}
- int a[],d;
- int main()
- {
- while (cin>>a[]>>a[]>>a[]>>a[]>>d)
- {
- int ans = ;
- for (int i = ; i <= d; i++)
- {
- for (int j = ; j < ; j++)
- if (i % a[j] == )
- {
- ans ++;
- break;
- }
- }
- cout<<ans<<endl;
- }
- return ;
- }
B贡献无数发WA。注意相遇的条件 直接double处理就可以。一直以为按照相应直接直接跳跃相应距离 直接int处理
- #include <map>
- #include <set>
- #include <list>
- #include <cmath>
- #include <ctime>
- #include <deque>
- #include <stack>
- #include <queue>
- #include <cctype>
- #include <cstdio>
- #include <string>
- #include <vector>
- #include <climits>
- #include <cstdlib>
- #include <cstring>
- #include <iostream>
- #include <algorithm>
- #define LL long long
- #define PI 3.1415926535897932626
- using namespace std;
- int gcd(int a, int b) {return a % b == ? b : gcd(b, a % b);}
- int vp,vd,t,f,c;
- int pos[];
- int main()
- {
- while (cin>>vp>>vd>>t>>f>>c)
- {
- if (vp >= vd) {puts("");continue;}
- int thev = vd - vp;
- double pospri = vp * t;int ans = ;
- while (pospri < c)
- {
- double ti = pospri / (double)thev;
- if ((double) vd * ti >= c) break;
- ans ++;
- pospri = pospri + f * vp +(double) * ti * vp;
- // printf("%d\n",pospri);
- if (pospri >= c) break;
- }
- cout <<ans <<endl;
- }
- return ;
- }
C 坑点比较多。注意b等于0的情况
- #include <map>
- #include <set>
- #include <list>
- #include <cmath>
- #include <ctime>
- #include <deque>
- #include <stack>
- #include <queue>
- #include <cctype>
- #include <cstdio>
- #include <string>
- #include <vector>
- #include <climits>
- #include <cstdlib>
- #include <cstring>
- #include <iostream>
- #include <algorithm>
- #define LL long long
- #define PI 3.1415926535897932626
- using namespace std;
- int gcd(int a, int b) {return a % b == ? b : gcd(b, a % b);}
- int n,a,b;
- int num[];
- int main()
- {
- while (cin >> n >> a >> b)
- {
- if (a > n || b > n){ puts("-1");continue;}
- if (a > && b == )
- {
- if (n - a < ) {puts("-1");continue;}
- else
- {
- printf("1 1 ");
- for (int i = ,k = ,j = ; j <= n && i <= a ; k++,i++) printf("%d ",k);
- for (int i = a + ; i <= n; i++) printf("%d ",a + );
- puts("");
- }
- continue;
- }
- for (int i = ; i < ; i++) num[i] = ;
- int cas = ;
- int sum = ;
- for (int i = ; i <= b + ; i++)
- {
- num[i] = sum + cas;
- sum += num[i];
- }
- cas = ;
- for (int i = b + ; i <= a + b + ;i ++)
- {
- num[i] = num[i - ] + cas;
- }
- for (int i = ; i <= n; i++)
- if (i == ) cout << num[i];
- else cout << ' ' << num[i];
- puts("");
- }
- return ;
- }
D DP
- #include <map>
- #include <set>
- #include <list>
- #include <cmath>
- #include <ctime>
- #include <deque>
- #include <stack>
- #include <queue>
- #include <cctype>
- #include <cstdio>
- #include <string>
- #include <vector>
- #include <climits>
- #include <cstdlib>
- #include <cstring>
- #include <iostream>
- #include <algorithm>
- #define LL long long
- #define PI 3.1415926535897932626
- using namespace std;
- int gcd(int a, int b) {return a % b == ? b : gcd(b, a % b);}
- int w,b;
- double dp[][];
- void init()
- {
- for (int i = ; i < ; i++)
- {
- dp[i][] = 1.0;
- dp[][i] = 0.0;
- }
- for (int w = ; w < ; w++)
- for (int b = ; b < ; b++)
- {
- dp[w][b] += 1.0 * w / (w + b);
- if (b >= )
- dp[w][b] += dp[w][b - ] * 1.0 * b / (w + b) * 1.0 * (b - ) / (w + b - ) * 1.0 * (b - ) / (w + b - );
- if (b >= )
- dp[w][b] += dp[w - ][b - ] * 1.0 * b / (w + b) * 1.0 * (b - ) / (w + b - ) * w / (w + b - );
- }
- }
- int main()
- {
- init();
- while (scanf("%d%d",&w,&b) != EOF)
- printf("%.9lf\n",dp[w][b]);
- return ;
- }
E DP预处理+DP
- #include <map>
- #include <set>
- #include <list>
- #include <cmath>
- #include <ctime>
- #include <deque>
- #include <stack>
- #include <queue>
- #include <cctype>
- #include <cstdio>
- #include <string>
- #include <vector>
- #include <climits>
- #include <cstdlib>
- #include <cstring>
- #include <iostream>
- #include <algorithm>
- #define LL long long
- #define PI 3.1415926535897932626
- using namespace std;
- int gcd(int a, int b) {return a % b == ? b : gcd(b, a % b);}
- #define MAXN 110
- #define MAXD 10010
- int sum[MAXN][MAXD],dp[MAXN][MAXD],res[MAXN][MAXD];
- int N,M;
- int num[MAXN];
- int main()
- {
- while (scanf("%d%d",&N,&M) != EOF)
- {
- memset(dp,,sizeof(dp));
- memset(res,,sizeof(res));
- for (int i = ; i <= N; i++)
- {
- scanf("%d",&num[i]);
- sum[i][] = ;
- for (int j = ; j <= num[i];j++)
- {
- int tmp;
- scanf("%d",&tmp);
- sum[i][j] = sum[i][j - ] + tmp;
- }
- res[i][] = ;
- for (int j = ; j <= num[i]; j++)
- for (int k = ; k <= j; k++)
- res[i][j] = max(res[i][j],sum[i][k] + sum[i][num[i]] - sum[i][num[i] - (j - k)]);
- }
- for (int i = ; i <= N; i++)
- for (int j = ; j <= M; j++)
- for (int k = ; k <= num[i] && k <= j; k++)
- dp[i][j] = max(dp[i][j],max(dp[i - ][j],dp[i - ][j - k] + res[i][k]));
- printf("%d\n",dp[N][M]);
- }
- return ;
- }
Codeforces #105 DIV2 ABCDE的更多相关文章
- codeforces#518 Div2 ABCDE
A---Birthday http://codeforces.com/contest/1068/problem/A 题意: 有n种硬币,m个人.m个人要给Ivan送硬币,每个人送的硬币都要互不相同但数 ...
- Codeforces #180 div2 C Parity Game
// Codeforces #180 div2 C Parity Game // // 这个问题的意思被摄物体没有解释 // // 这个主题是如此的狠一点(对我来说,),不多说了这 // // 解决问 ...
- Codeforces #541 (Div2) - E. String Multiplication(动态规划)
Problem Codeforces #541 (Div2) - E. String Multiplication Time Limit: 2000 mSec Problem Descriptio ...
- Codeforces #541 (Div2) - F. Asya And Kittens(并查集+链表)
Problem Codeforces #541 (Div2) - F. Asya And Kittens Time Limit: 2000 mSec Problem Description Inp ...
- Codeforces #541 (Div2) - D. Gourmet choice(拓扑排序+并查集)
Problem Codeforces #541 (Div2) - D. Gourmet choice Time Limit: 2000 mSec Problem Description Input ...
- Codeforces #548 (Div2) - D.Steps to One(概率dp+数论)
Problem Codeforces #548 (Div2) - D.Steps to One Time Limit: 2000 mSec Problem Description Input Th ...
- 【Codeforces #312 div2 A】Lala Land and Apple Trees
# [Codeforces #312 div2 A]Lala Land and Apple Trees 首先,此题的大意是在一条坐标轴上,有\(n\)个点,每个点的权值为\(a_{i}\),第一次从原 ...
- Codeforces #263 div2 解题报告
比赛链接:http://codeforces.com/contest/462 这次比赛的时候,刚刚注冊的时候非常想好好的做一下,可是网上喝了个小酒之后.也就迷迷糊糊地看了题目,做了几题.一觉醒来发现r ...
- codeforces #round363 div2.C-Vacations (DP)
题目链接:http://codeforces.com/contest/699/problem/C dp[i][j]表示第i天做事情j所得到最小的假期,j=0,1,2. #include<bits ...
随机推荐
- 一行代码将两个列表拼接出第三个列表(两个可迭代对象相加产生第三个可迭代对象)--map()方法
map()方法 map(func, *iterables) --> map object lambda方法: lambda 参数 :返回值 a = map(',7]) print(list(a ...
- struct2 命名空间
转自http://blog.csdn.net/carefree31441/article/details/4857546 使用Struts2,配置一切正常,使用常用tag也正常,但是在使用<s: ...
- Hibernate---架构
Hibernate 架构是分层的,作为数据访问层,你不必知道底层 API .Hibernate 利用数据库以及配置数据来为应用程序提供持续性服务(以及持续性对象). 下面是一个非常高水平的 Hiber ...
- 抽象类的作用之一:sdk 传递你需要的参数
抽象类可以干什么?抽象类可以让别人必须做一件事情,比如实现一个方法. 那它有什么作用呢? 我开始也不知道啊,后来慢慢的知道了,在开发中,我知道了它是干什么的,怎么用的.比如你要写一个sdk给别人用.但 ...
- redis系列文章目录
redis系列文章目录 使用spring-data-redis实现incr自增 Redis 利用Hash存储节约内存 Redis学习笔记(九)redis实现时时直播列表缓存,支持分页[热点数据存储] ...
- python学习笔记十七:base64及md5编码
一.Python Base64编码 Python中进行Base64编码和解码要用base64模块,代码示例: #-*- coding: utf-8 -*- import base64 str = 'c ...
- mongodb导入json文件(WINDOWS)
mongodb导入json格式的文件的命令是mongoimport: 在下面的这个例子中,使用mongoimport命令将文件pi.json中的内容导入loacal数据库的pi集合中. 打开CMD,进 ...
- [转]unity之LOD
LOD技术有点类似于Mipmap技术,不同的是,LOD是对模型建立了一个模型金字塔,根据摄像机距离对象的远近,选择使用不同精度的模型. 它的好处是可以在适当的时候大量减少需要绘制的顶点数目. 它的缺点 ...
- [转载]kd tree
[本文转自]http://www.cnblogs.com/eyeszjwang/articles/2429382.html k-d树(k-dimensional树的简称),是一种分割k维数据空间的数据 ...
- HDU 4725 The Shortest Path in Nya Graph( 建图 + 最短路 )
主要是建图,建好图之后跑一边dijkstra即可. 一共3N个点,1~N是原图中的点1~N,然后把每层x拆成两个点(N+x)[用于连指向x层的边]和(N+N+x)[用于连从x层指出的边]. 相邻层节点 ...