南通公司网站制作,企业网站布局960,备案的网站建设书是什么,wordpress通过电子邮件发布【Link】:http://codeforces.com/contest/831/problem/C 【Description】 有一个人参加一个比赛; 他一开始有一个初始分数x; 有k个评委要依次对这个人评分; 依照时间顺序依次给出这k个人的评分(可能为负数,负数的时候,表示分数会降低,而如果为正,则分数增加); 然后有一个… 【Link】:http://codeforces.com/contest/831/problem/C 【Description】 有一个人参加一个比赛; 他一开始有一个初始分数x; 有k个评委要依次对这个人评分; 依照时间顺序依次给出这k个人的评分(可能为负数,负数的时候,表示分数会降低,而如果为正,则分数增加); 然后有一个人记得这k次评分中的n次评分过后这个人的评分; (即知道其中k个评委评完分之后,那个人的k个即时分数) (这k个分数各不相同); 问你x有多少种不同可能; 【Solution】 先算出评分变化的前缀和数组pre; 然后for(int i 1;i k;i)//枚举一个评委; *******for (int j 1;j n;j)//枚举一个评分{ *********int x b[j]-pre[i];//算出第j个评分在第i个评委之后,初始评分该是什么 } 这里,要记录下每个x,以及这个x是由第几个评分得到的; 如果有一个x,它能由所有的n个评分都得到; 那么这个初始评分就是可行的; 因为保证b数组各不相同, 则如果有一个评分j在第i个位置获得了初始评分x; 其他评分j’不可能在第i个位置也获得初始评分x 这就说明,获得初始评分x的所有n个评分肯定都是在不同的位置(即摆在不同的评委评完分之后)得到的; 相同的x,统计是不是n个评分都出现过; 是的话,递增答案; 直接用mapset写会超时; 于是,排序,去重,加个map,这样时间更快; 【NumberOf WA】 3 【Reviw】 如果想到了更优的方法,就不要犹豫,尽量加快速度; STL也不能滥用啊。 【Code】 #include bits/stdc.h
using namespace std;
#define lson l,m,rt1
#define rson m1,r,rt1|1
#define LL long long
#define rep1(i,a,b) for (int i a;i b;i)
#define rep2(i,a,b) for (int i a;i b;i--)
#define mp make_pair
#define pb push_back
#define fi first
#define se second
#define ms(x,y) memset(x,y,sizeof x)
#define Open() freopen(F:\\rush.txt,r,stdin)
#define Close() ios::sync_with_stdio(0)typedef pairint,int pii;
typedef pairLL,LL pll;
typedef setint myset;const int dx[9] {0,1,-1,0,0,-1,-1,1,1};
const int dy[9] {0,0,0,-1,1,-1,1,-1,1};
const double pi acos(-1.0);
const int N 2e3;struct abc{int x,id;
};int k,n,a[N100],b[N100],pre[N100],ans,tot;
map int,int dic;
abc c[N*N10];bool cmp(abc a,abc b){return a.x b.x;
}int main(){//Open();//Close();scanf(%d%d,k,n);rep1(i,1,k)scanf(%d,a[i]);pre[0] 0;rep1(i,1,k)pre[i] pre[i-1] a[i];rep1(i,1,n)scanf(%d,b[i]);rep1(i,1,k){rep1(j,1,n){int x b[j]-pre[i];tot;c[tot].x x,c[tot].id j;}}sort(c1,c1tot,cmp);rep1(i,1,tot){int num n;int j i;while (j1tot c[j1].xc[i].x) j;rep1(k,i,j){if (dic[c[k].id]!i){num--;dic[c[k].id] i;}}if (num0) ans;i j;}printf(%d\n,ans);return 0;
}/*写完之后,明确每一步的作用
*/转载于:https://www.cnblogs.com/AWCXV/p/7626197.html