|
题目 6 线型网络
2016-09-27 22:15:44
|
|
|
|
数学很重要
题目 2112 [NOIP 2015PJ]求和
2016-09-27 21:05:28
|
|
#include<iostream>
#include<cstdio> using namespace std; class node{ public: long long int b,col,num; };node d[100005]={0}; long long a1[2][100005]={0},n1[2][100005]={0},color[2][100005]={0},number[2][100002]={0}; long long int ans=0; int n,m; void cin1() { for(int i=1;i<=n;i++) d[i].b=i; for(int i=1;i<=n;i++) cin>>d[i].num; for(int i=1;i<=n;i++) { cin>>d[i].col; if(d[i].b%2==0) { a1[0][d[i].col]=d[i].b+a1[0][d[i].col]; number[0][d[i].col]=d[i].num*d[i].b+number[0][d[i].col]; n1[0][d[i].col]=d[i].num+n1[0][d[i].col]; color[0][d[i].col]++; } else { color[1][d[i].col]++; a1[1][d[i].col]=d[i].b+a1[1][d[i].col]; number[1][d[i].col]=d[i].num*d[i].b+number[1][d[i].col]; n1[1][d[i].col]=d[i].num+n1[1][d[i].col]; } } } int main() { freopen("2015sum.in","r",stdin); freopen("2015sum.out","w",stdout); cin>>n>>m; cin1(); for(int j=0;j<=1;j++) for(int i=1;i<=m;i++) if(color[j][i]>1) { ans=(color[j][i]-2)*number[j][i]+a1[j][i]*n1[j][i]+ans; } cout<<ans%10007; }
题目 2112 [NOIP 2015PJ]求和
2016-09-27 21:04:36
|
|
|
|
双倍经验见usaco架设电话线
题目 386 电话网络
2016-09-27 20:25:40
|
|
|
|
原来注释也耗时间!!
我带注释的代码194行5.562 s 删掉注释后代码115行4.204 s
题目 1264 [NOIP 2012]开车旅行
2016-09-27 16:24:33
|
|
合并类动归就是要注意区间!!!
合并类动归就是要注意区间!!! 合并类动归就是要注意区间!!! |
|
这个数据精度要求不高,和BZOJ上保持一致
|
|
splay水题
|
|
%%%
题目 2476 通向聚会的套路
2016-09-27 14:31:57
|
|
%%%
题目 2477 [HNOI 2013]游走
2016-09-27 14:26:45
|
|
做完好有成就感
|
|
回复 @Hzoi_AntiLeaf :
这题不能CDQ的吧,我们尝试用(l,mid)之间的修改来影响(mid+1,r)之间的询问的答案,但是同一个修改对于不同询问的影响是不等价的吧 (当然你可以在CDQ里用树状数组,然而这样的话就与原来的做法差别不大,只是复杂度多了logn...
题目 2471 [EZOI 2016]源氏的数学课
2016-09-26 22:33:48
|
|
用了相同的变量名这种脑残错误T^T!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
题目 1272 [AHOI2009] 行星序列
2016-09-26 21:32:23
|
|
|
|
为什么数组开小了是T
题目 1619 [HEOI 2012]采花
2016-09-26 16:52:17
|
|
这是我见过的最短路题里面预处理最麻烦的题了...
蒟蒻表示平路上坡下坡弄混了半天... LOLOLOLOLOLOLOLOLOLOLOLOLOLOLOLOLOLOLOLOLOLOLOL |
|
题目 421 [SDOI 2009] HH的项链
2016-09-26 15:08:42
|