洛谷 NOIP 模拟 DAY2
来源:互联网 发布:淘宝我的空间怎么设置 编辑:程序博客网 时间:2024/05/23 12:45
T1 入阵曲
题目链接
n^4的做法很容易想到。
100分的做法一开始没想到;
我们枚举两行,然后求这两行之间的和时,记录下和的种类和数量,求到第j列的时候,前面有几列取模k得到的数与当前求得的一样时,那么这两列之间的和一定是k的倍数。
#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<vector>#define LL long longusing namespace std;const int N=409;int a[N][N],s[N][N],b[N];int n,m,k;LL ans,cnt[1000009];int main(){ scanf("%d%d%d",&n,&m,&k); for(int i=1;i<=n;i++) for(int j=1;j<=m;j++){ scanf("%d",&a[i][j]); s[i][j]=(s[i][j-1]+s[i-1][j]-s[i-1][j-1]+a[i][j])%k; } for(int i=1;i<=n;i++) for(int j=i;j<=n;j++){ for(int p=1;p<=m;p++) cnt[b[p]]=0,b[p]=0; cnt[0]=1; for(int p=1;p<=m;p++) { int x=((s[j][p]-s[i-1][p])%k+k)%k; ans+=cnt[x]; cnt[x]++; b[p]=x; } } printf("%lld\n",ans); return 0;}
T2 将军令
题目链接
先建一棵树;
然后最深的叶子结点往上翻k,一定要加小队;
所以建好树后,将距离当前最深的且没有被染色的叶子节点<=2*k的点都可以染上色。
染几轮即需放几个小队。
时间复杂度O(n*p)(p是个小的常数吧)
#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<vector>#define LL long longusing namespace std;const int N=1e5+77;int head[N],nxt[2*N],to[2*N],tot;int n,K,t,ans;bool vis[N];struct H{ int x,deep;}b[N];bool cmp(H p,H q){ return p.deep>q.deep;}void add(int x,int y){ to[++tot]=y; nxt[tot]=head[x]; head[x]=tot;}void dfs(int x,int dep){ vis[x]=1; b[x].deep=dep; for(int i=head[x];i;i=nxt[i]) if(!vis[to[i]]) dfs(to[i],dep+1);}void DFS(int x,int dep,int father){ vis[x]=1; if(dep==2*K) return; for(int i=head[x];i;i=nxt[i]) if(to[i]!=father) DFS(to[i],dep+1,x); }int main(){ scanf("%d%d%d",&n,&K,&t); for(int i=1;i<n;i++) { int x,y; scanf("%d%d",&x,&y); add(x,y);add(y,x); } dfs(1,0); for(int i=1;i<=n;i++) b[i].x=i; sort(b+1,b+n+1,cmp); memset(vis,0,sizeof(vis)); for(int i=1;i<=n;i++) { if(!vis[b[i].x]) { DFS(b[i].x,0,0); ans++; } } printf("%d",ans); return 0;}
阅读全文
1 0
- 洛谷 NOIP 模拟 DAY2
- 2- noip模拟赛 DAY2
- contesthunter NOIP模拟赛Day2 8.10
- 2017.8.19~8.20 noip 模拟 day2
- CH Round #49 - Streaming #4 (NOIP模拟赛Day2)
- CH Round #55 - Streaming #6 (NOIP模拟赛day2)总结
- 【20150905】NOIP模拟套题01 day2 题解 & 总结
- 【20150915】NOIP模拟套题02 day2 题解 & 总结
- 【NOIP模拟考三】水资源 day2 first 序列计数
- 计蒜客 2017 NOIP 提高组模拟赛(一)Day2
- 计蒜客 2017 NOIP 提高组模拟赛(二)Day2
- 2017 NOIP 提高组模拟赛(四)Day2(计蒜客)
- 洛谷 NOIP 模拟 DAY1
- NOIP 2011 Day2 Problem1
- NOIP 2011 Day2 Problem2
- NOIP 2017 Day2 总结
- NOIP 2017 Day2 题解?
- 2014.08.10 CH Round#49-Streaming#4(NOIP模拟赛Day2) 总结
- JZOJ 5459. 【NOIP2017提高A组冲刺11.7】密室
- 后缀自动机 笔记
- 从multiprocessing源码理解其对SIGINT信号的屏蔽
- NOIP模拟 图【最小生成树】
- 文章标题
- 洛谷 NOIP 模拟 DAY2
- 会动的圆
- navigator对象
- NYOJ 过河问题
- 入阵曲+将军令
- 2输入一个字符判断是否属于a-zA-Z之间如果是请是属于a-z还是A-Z并且输出值。
- 朴素贝叶斯分类器
- python里使用正则表达式的前向搜索否定模式
- 大规模机器学习(二)