Codeforces Round #395 (Div. 2)(未完)
2.2.2017 9:35~11:35
A - Taymyr is calling you
直接模拟
#include <iostream> #include <cstdio> #include <algorithm> #include <cstring> #include <cmath> using namespace std; typedef long long ll; const int N=1e4+5; inline int read(){char c=getchar();int x=0,f=1;while(c<'0'||c>'9'){if(c=='-')f=-1; c=getchar();}while(c>='0'&&c<='9'){x=x*10+c-'0'; c=getchar();}return x*f; } int n,m,z,ans; int vis[N]; int main(int argc, const char * argv[]) {n=read();m=read();z=read();for(int i=n;i<=z;i+=n) vis[i]=1;for(int i=m;i<=z;i+=m) ans+=vis[i];printf("%d",ans);return 0; }
View Code
B - Timofey and cubes
奇数位置反转,偶数位置不变
#include <iostream> #include <cstdio> #include <algorithm> #include <cstring> #include <cmath> using namespace std; typedef long long ll; const int N=2e5+5; inline int read(){char c=getchar();int x=0,f=1;while(c<'0'||c>'9'){if(c=='-')f=-1; c=getchar();}while(c>='0'&&c<='9'){x=x*10+c-'0'; c=getchar();}return x*f; } int n,a[N]; int main(int argc, const char * argv[]) {n=read();for(int i=1;i<=n;i++) a[i]=read();for(int i=1;i<=n/2;i++) if(i&1) swap(a[i],a[n-i+1]);for(int i=1;i<=n;i++) printf("%d ",a[i]);return 0; }
View Code
C - Timofey and a tree
题意:选一个根使得所有子树同色(每个子树中节点同色 不同子树可以不同色)
比赛时先打了个傻逼树形DP发现不对 然后就用对于一个点i它的子树用树形DP,它的上面的树用DFS序+线段树/ST表询问颜色相同......反正A掉了
// // main.cpp // C // // Created by Candy on 2017/2/2. // Copyright © 2017年 Candy. All rights reserved. // #include <iostream> #include <cstdio> #include <algorithm> #include <cstring> #include <cmath> using namespace std; #define mid ((l+r)>>1) #define lson x<<1,l,mid #define rson x<<1|1,mid+1,r #define lc x<<1 #define rc x<<1|1 typedef long long ll; const int N=2e5+5; inline int read(){char c=getchar();int x=0,f=1;while(c<'0'||c>'9'){if(c=='-')f=-1; c=getchar();}while(c>='0'&&c<='9'){x=x*10+c-'0'; c=getchar();}return x*f; } int n,u,v,c[N],a[N]; struct edge{int v,ne; }e[N<<1]; int h[N],cnt=0; inline void ins(int u,int v){cnt++;e[cnt].v=v;e[cnt].ne=h[u];h[u]=cnt;cnt++;e[cnt].v=u;e[cnt].ne=h[v];h[v]=cnt; } struct node{int same; }t[N<<2]; void build(int x,int l,int r){if(l==r) t[x].same=a[l];else{build(lson);build(rson);if(t[lc].same==0||t[rc].same==0||t[lc].same!=t[rc].same) t[x].same=0;else t[x].same=t[lc].same;} } int segSame(int x,int l,int r,int ql,int qr){if(ql>qr) return -1;if(t[x].same) return t[x].same;if(ql<=l&&r<=qr) return t[x].same;else{int same=-1;if(ql<=mid) same=segSame(lson,ql,qr);if(mid<qr){int _=segSame(rson,ql,qr);if(same==-1||same==_) same=_;else same=0;}return same;} } int d[N],L[N],R[N],dfc; void dfs(int u,int fa){L[u]=++dfc; a[dfc]=c[u];d[u]=c[u];for(int i=h[u];i;i=e[i].ne){int v=e[i].v;if(v==fa) continue;dfs(v,u);if(d[u]!=0&&d[v]!=d[u]) d[u]=0;}R[u]=dfc; } int ans; void dfsSol(int u,int fa){//printf("dfsSol %d %d\n",u,fa);if(ans) return;int flag=1;for(int i=h[u];i;i=e[i].ne) if(e[i].v!=fa)if(d[e[i].v]==0) {flag=0;break;}if(flag){int s1=segSame(1,1,n,1,L[u]-1),s2=segSame(1,1,n,R[u]+1,n);flag=0;if(s1!=0&&s2!=0&&(s1==-1||s2==-1||s1==s2)) flag=1; // printf("hi %d %d %d %d %d %d\n",u,L[u],R[u],s1,s2,flag);if(flag) {ans=u;return;}}for(int i=h[u];i;i=e[i].ne)if(e[i].v!=fa) dfsSol(e[i].v,u); } int main(int argc, const char * argv[]) {n=read();for(int i=1;i<=n-1;i++) u=read(),v=read(),ins(u,v);for(int i=1;i<=n;i++) c[i]=read();dfs(1,0);build(1,1,n); // for(int i=1;i<=n;i++) printf("hi %d %d %d %d\n",i,d[i],L[i],R[i]); // for(int i=1;i<=n;i++) printf("a %d %d\n",i,a[i]);dfsSol(1,0);if(ans) printf("YES\n%d",ans);else puts("NO");return 0; }
比赛代码
实际上可以发现如果一条边两边节点的颜色不对一定是这两个节点中的一个做根,三遍DFS就行了....好简单
D - Timofey and rectangles
题意:一些不相交矩形边长都是奇数 4种颜色染色 判断可行及一种方案
....最后才看到洛谷群有这道题题解然后最后10s提交失败呜呜呜
超简单 边长奇数,所以横边相邻的矩形y坐标奇偶性不同 x同理 所以按左下角奇偶性染色就行了
// // main.cpp // C // // Created by Candy on 2017/2/2. // Copyright © 2017年 Candy. All rights reserved. // #include <iostream> #include <cstdio> #include <algorithm> #include <cstring> #include <cmath> using namespace std; typedef long long ll; inline int read(){char c=getchar();int x=0,f=1;while(c<'0'||c>'9'){if(c=='-')f=-1; c=getchar();}while(c>='0'&&c<='9'){x=x*10+c-'0'; c=getchar();}return x*f; } int n,x,y; int main(int argc, const char * argv[]) {n=read();puts("YES");for(int i=1;i<=n;i++){x=read();y=read();x=min(x,read());y=min(y,read());x+=1e9;y+=1e9;if(x&1){if(y&1) puts("1");else puts("2");}else{if(y&1) puts("3");else puts("4");}} }
View Code
未完
转载于:https://www.cnblogs.com/candy99/p/6362422.html
Codeforces Round #395 (Div. 2)(未完)相关推荐
- Codeforces Round #395 (Div. 2) - A
题目链接:http://codeforces.com/contest/764/problem/A 题意:有两个人,第一个人每n分钟到达一次目的地,第二个人每m分钟到达一次目的地,现在给定一个时间z问在 ...
- Codeforces Round #395 Div.1 C pacifist【JZOJ5449】Pacifist
题目 papyrus 喜欢谜题... 来解一道如何? 在你面前有一个被加密了的数组,其原数组是一个等差序列,你面前的则是将原数组中的所有数字都对m 取模再打乱后而得到的新数组 papyrus 给你出的 ...
- 构造 Codeforces Round #302 (Div. 2) B Sea and Islands
题目传送门 1 /* 2 题意:在n^n的海洋里是否有k块陆地 3 构造算法:按奇偶性来判断,k小于等于所有点数的一半,交叉输出L/S 4 输出完k个L后,之后全部输出S:) 5 5 10 的例子可以 ...
- Codeforces Round #712 Div.2(A ~ F) 超高质量题解(每日训练 Day.15 )
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Codeforces Round #712 Div.2(A ~ F) 题解 比赛链接:https:// ...
- Codeforces Round #698 (Div. 2)(A ~ F)6题全,超高质量题解)【每日亿题】2021/2/4
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 目录 [每日亿题]Codeforces Round #698 (Div. 2)(A ~ F)6题全,超 ...
- Codeforces Round #694 (Div. 1 + Div2)(A ~ H,8题全,超高质量题解)【每日亿题】2021/2/1、2/2
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 目录 [每日亿题]Codeforces Round #694 (Div. 1 + Div2)(A ~ ...
- Codeforces Round #297 (Div. 2)E. Anya and Cubes 折半搜索
Codeforces Round #297 (Div. 2)E. Anya and Cubes Time Limit: 2 Sec Memory Limit: 512 MB Submit: xxx ...
- 贪心 Codeforces Round #236 (Div. 2) A. Nuts
题目传送门 1 /* 2 贪心:每一次选取最多的线段,最大能放置nuts,直到放完为止,很贪婪! 3 题目读不懂多读几遍:) 4 */ 5 #include <cstdio> 6 #inc ...
- Codeforces Round 542 (Div. 2)
layout: post title: Codeforces Round 542 (Div. 2) author: "luowentaoaa" catalog: true tags ...
最新文章
- UA MATH571A R语言回归分析实践 多元回归2 医疗费用的决定
- 程序设计中的几种设计原则
- 详解 ASP.NET异步
- java bufferedinputstream 编码_java中关于编码的问题(字符转换流及字符缓冲流 )
- 为什么在mysql执行删除表中外键的语句,外键却仍然存在? [问题点数:40分]
- TCP 连接中的TIME_WAIT
- 史上最强春节红包战:互联网竞争缩影下的百亿争斗
- 彩电主板更换后图像是矩型怎么处理_液晶彩电主板常见故障维修
- 8个Python小游戏,可以上班摸鱼玩一天
- PostgreSQL中with和without time zone两者有什么区别
- Centos7虚拟机MySQ连接Hive
- Android 蓝牙HID协议(基于BR蓝牙)连接流程分析--framework-jni-btif-bta-btm-hci -- 全网最详细(一)
- 用Python自制随机点名程序,压迫感来了~
- matlab高维矩阵提取其中n维
- u盘检测java软件_windows下的Java程序用于检测U盘
- ERTEC200P-2 PROFINET设备完全开发手册(9-2)
- JAVA的3DES加密代码转成oc_iOS之DES加密
- 计算机和网络设备的辐射强,计算机网络设备信息辐射泄漏与抑制
- Agfa的MUSICA说明
- jzoj 1420. 佳肴