CodeFroces 831C. Jury Marks(STL的应用)
来源:互联网 发布:js怎么调用类库 编辑:程序博客网 时间:2024/05/17 22:00
http://codeforces.com/problemset/problem/831/C
题目大意:有k个评委,n条pol记得的分数。评委从前往后依次评分。pol记得一些评委评完分的分数,这些分数不一定是按照时间给出的。问参赛者初试分数有多少种可能。
解法:我们想一种检验方式,要保证pol记得的分数全都满足。一开始我很笨的用了k²n的算法,一直tle。正解为,随便选一个分数,然后将他枚举k个位置,每次枚举他会得出其他分数,check一下pol记得的分数是否都存在于这些分数之中。如果都存在,则返回该种情况的初始分数。最后输出不同的初试分数有多少种。
代码如下:
#include<bits/stdc++.h>using namespace std;const int maxn = 2e3 + 5;const int maxm = maxn * maxn * 4;int k, n;int a[maxn], b[maxn], c[maxn] = {0}, tmp;multiset <int>::iterator iter;bool Check(int s, int x) {multiset <int> ms;int ts = s;for(int i = x + 1; i <= k; i++) {s += a[i];ms.insert(s);}s = ts;for(int i = x; i > 0; i--) {ms.insert(s);s -= a[i];}tmp = s;int key = 0;for(iter = ms.begin(); iter != ms.end(); iter++) {//cout << *iter << " ";if(*iter == b[key])key++;if(key >= n)break;}//cout << endl;if(key >= n)return 1;return 0;}int main() {set <int> myset;scanf("%d%d", &k, &n);for(int i = 1; i <= k; i++) {scanf("%d", &a[i]);}for(int i = 0; i < n; i++) {scanf("%d", &b[i]);}sort(b, b + n);int ans = 0;for(int i = 1; i <= k; i++) {//cout << "case " << i << ": ";if(Check(b[0], i)) {myset.insert(tmp);}}cout << myset.size() << endl;return 0;}
阅读全文
0 0
- CodeFroces 831C. Jury Marks(STL的应用)
- CodeForces 831C Jury Marks(stl)
- 【Codeforces 831 C. Jury Marks】+ STL
- CodeForces 831C Jury Marks
- Codeforces 831 C Jury Marks
- codeforces 831C Jury Marks
- 【Codeforces】831C Jury Marks
- Codeforces-831C Jury Marks
- CodeForces 831C : Jury Marks(set的使用)
- CodeForces 831C Jury Marks(set)
- Codeforces-831C Jury Marks(暴力)
- Codeforces 831C Jury Marks【暴力枚举】
- CF --- 831C Jury Marks 【思维】
- Codeforces831 C. Jury Marks
- C. Jury Marks
- C.Jury Marks
- 解题报告:Codeforces Round #424 Div. 2 C. Jury Marks 记录STL::map的一个小细节
- CF Round #424( Div.2) C. Jury Marks 【思维+STL】
- java项目打包成exe
- Android——UI篇:android省市区三级联动控件的使用
- Caffe 中 BN(BatchNorm ) 层的参数均值、方差和滑动系数解读
- 索引
- AngularJS 第四课(选择框,HTML DOM,HTML 事件)
- CodeFroces 831C. Jury Marks(STL的应用)
- 面试题:正则表达式匹配
- BuildAssetBundle 参数 BuildAssetBundleOptions 的几种类型
- svn checkout和export的区别及应用场景
- 物联网原理与技术
- Sybase BCP使用简单命令
- c++重写、重载(覆盖)、隐藏
- SpringMVC配置JSON接收参数字段多于后台字段
- java转换数字为千分位