今天自己模拟了一套题,只写出两道来,第三道时间到了过了几分钟才写出来,啊,太菜了。

A. Taymyr is calling you

水题,问你在z范围内  两个序列  n,2*n,3*n......  和 m,2*m,3*m.....有多少个是一样的。

#include<bits/stdc++.h>
using namespace std;
int n,m,z;
int main()
{
cin>>n>>m>>z;
int gcd=__gcd(n,m);
int now=n*m/gcd;
int ans=;
int res=now;
while(res<=z)
{
ans++;
res+=now;
}
cout<<ans<<endl;
return ;
}

B. Timofey and cubes

题目大意:给你n个数,进行(n/2)次操作,每次操作将制定区间里的数交换,给你交换后的

让你求原来的。

思路:水题,奇偶讨论。

#include<bits/stdc++.h>
const int N=*1e5+;
using namespace std;
int a[N];
int n;
int main()
{
cin>>n;
for(int i=;i<=n;i++) scanf("%d",&a[i]);
int mid=n/;
int i=,j=n;
bool flag=true;
while(i<=j)
{
if(flag)
{
int t=a[i];
a[i]=a[j];
a[j]=t;
}
flag=!flag;
i++,j--;
}
for(int i=;i<=n;i++) printf("%d%c",a[i],i==n? '\n':' ');
return ;
}

C. Timofey and a tree

题目大意:给你一颗树,每个节点都有一个颜色,让你挑选一个节点当做整棵树的根,满足所有

子树中节点的颜色都是一样的。如果没有输出NO 否则输入YES 且输出选择的节点。

思路:刚开始的思路是我觉得这棵树中的颜色不能超过 3 种,后来一想这种想法好智障啊,明显

不对,后来枚举树根每个都dfs一下超时,结束后想我随便找一个点dfs找到两个相邻的颜色不同的

点,那么这两个点中间肯定有一个要当做树根的,否则不成立。这样只要dfs两次就行了。

#include<bits/stdc++.h>
using namespace std;
const int N=1e5+;
vector<int> e[N];
int c[N],item1,item2,n;
map<int,bool> mp;
bool flag;
void dfs1(int u,int pre)
{
//printf("%d\n",u);
if(pre!=- && c[u]!=c[pre])
{
item1=u;
item2=pre;
return;
}
for(int i=;i<e[u].size();i++)
{
int to=e[u][i];
if(to!=pre) dfs1(to,u);
if(item1!=-) return;
}
}
void dfs(int u,int pre,int item)
{
// printf("%d %d %d**\n",u,pre,item);
if(pre!=item && pre!=- && c[u]!=c[pre])
{
flag=false;
return;
}
for(int i=;i<e[u].size();i++)
{
int to=e[u][i];
if(to!=pre) dfs(to,u,item);
if(!flag) return;
}
}
int main()
{
cin>>n;
for(int i=;i<n;i++)
{
int f,t;
scanf("%d%d",&f,&t);
e[f].push_back(t);
e[t].push_back(f);
}
int cnt=;
for(int i=;i<=n;i++) scanf("%d",&c[i]);
item1=-,item2=-;
dfs1(,-);
if(item1==-)
{
puts("YES");
puts("");
return ;
}
flag=true;
dfs(item1,-,item1);
if(flag)
{
puts("YES");
printf("%d\n",item1);
return ;
}
flag=true;
dfs(item2,-,item2);
if(flag)
{
puts("YES");
printf("%d\n",item2);
return ;
}
puts("NO");
return ;
}

D. Timofey and rectangles

题目大意:给你n个矩形,且矩形的边长为奇数,任意两个矩形都不相交,最多相邻,现在让你给这些矩形上色,

一种4种颜色,相邻的矩形颜色不能相等,问你有没有这样的方案,如果有则输出。

思路:赤裸裸的脑洞题,专门碾压我这种低智商的,这题最关键的是矩形的边长是奇数,虽然我知道,但是

我还是不会写QAQ。

首先,四个矩形不可能两两互相相邻,所以结论一定是YES

然后,我们考虑矩形的左下角的顶点,如果 x 和 y 的值都为奇数,因为边长是奇数,所以这个矩形不可能和

另一个左下角坐标都为奇数的矩形相邻。所以我们给这类矩形染色 1  。

其他三种同理。

#include<bits/stdc++.h>
using namespace std;
const int N=*1e5+;
int n,vis[N],m=1e9;
int main()
{
cin>>n;
for(int i=;i<=n;i++)
{
int x1,y1,x2,y2;
scanf("%d%d%d%d",&x1,&y1,&x2,&y2);
if((x1+m)% && (y1+m)%) vis[i]=;
else if((x1+m)%) vis[i]=;
else if((y1+m)%) vis[i]=;
else vis[i]=;
}
cout<<"YES"<<endl;
for(int i=;i<=n;i++) printf("%d\n",vis[i]);
return ;
}

Codeforces Round #395 (Div. 2)的更多相关文章

  1. Codeforces Round #395 (Div. 2)(A.思维,B,水)

    A. Taymyr is calling you time limit per test:1 second memory limit per test:256 megabytes input:stan ...

  2. Codeforces Round #395 (Div. 2) D. Timofey and rectangles

    地址:http://codeforces.com/contest/764/problem/D 题目: D. Timofey and rectangles time limit per test 2 s ...

  3. Codeforces Round #395 (Div. 2) C. Timofey and a tree

    地址:http://codeforces.com/contest/764/problem/C 题目: C. Timofey and a tree time limit per test 2 secon ...

  4. Codeforces Round #395 (Div. 2)B. Timofey and cubes

    地址:http://codeforces.com/contest/764/problem/B 题目: B. Timofey and cubes time limit per test 1 second ...

  5. Codeforces Round #395 (Div. 1)

    比赛链接:http://codeforces.com/contest/763 A题: #include <iostream> #include <cstdio> #includ ...

  6. Codeforces Round #395 (Div. 2)(未完)

    2.2.2017 9:35~11:35 A - Taymyr is calling you 直接模拟 #include <iostream> #include <cstdio> ...

  7. 【分类讨论】Codeforces Round #395 (Div. 2) D. Timofey and rectangles

    D题: 题目思路:给你n个不想交的矩形并别边长为奇数(很有用)问你可以可以只用四种颜色给n个矩形染色使得相接触的 矩形的颜色不相同,我们首先考虑可不可能,我们分析下最多有几个矩形互相接触,两个时可以都 ...

  8. 【树形DP】Codeforces Round #395 (Div. 2) C. Timofey and a tree

    标题写的树形DP是瞎扯的. 先把1看作根. 预处理出f[i]表示以i为根的子树是什么颜色,如果是杂色的话,就是0. 然后从根节点开始转移,转移到某个子节点时,如果其子节点都是纯色,并且它上面的那一坨结 ...

  9. Codeforces Round #395 (Div. 2) C

    题意 : 给出一颗树 每个点都有一个颜色 选一个点作为根节点 使它的子树各自纯色 我想到了缩点后check直径 当<=3的时候可能有解 12必定有解 3的时候需要check直径中点的组成点里是否 ...

随机推荐

  1. centos shell运行报语法错误: 未预期的文件结尾

    可能原因: 脚本是windows下写的,然后传到linux下运行的 需要给dos文件格式转成unix dos转unix 安装: yum install dos2unix 命令: dos2unix fi ...

  2. 淘淘商城之Ajax跨域请求

    一.什么是跨域 (1)域名不同时: (2)域名相同,端口不同时 二.解决方法 可以使用jsonp解决跨域问题 三.什么是jsonp jsonp其实是一个跨域解决方案,js跨域请求数据是不允许的,但是跨 ...

  3. Thymeleaf在IDEA中的使用

    让html页面的thymeleaf 标签不显示刺眼的红色波浪线,解决方法如下 IDEA官方链接:https://www.jetbrains.com/help/idea/2017.1/thymeleaf ...

  4. MGR架构~单写模式架构的搭建

    一 简介 :MGR一直没有时间测试,今天咱们来初步了解搭建一下呗 二 环境: mysql5.7.20  单台机器 启动三实例 三  mysql 搭建: 1 建立相关目录+ mkdir -p /data ...

  5. iOS视频流开发(1)—视频基本概念

    iOS视频流开发(1)-视频基本概念 手机比PC的优势除了便携外,她最重要特点就是可以快速方便的创作多媒体作品.照片分享,语音输入,视频录制,地理位置.一个成功的手机APP从产品形态上都有这其中的一项 ...

  6. 解决ipad连接不上电脑的问题

    检查一下信息: 1.iTunes是否安装 2.数据线是否完好 3.检查下图中的两个设备是否开启 4.最后一步是最恶心的:是否关闭了防火墙!!!! 操作步骤如下图示 我就是因为打开了防火墙,所以一直连接 ...

  7. java中String类型

    string对象常用方法 string对象比较方法: string类获取包含子串的方法: 字符串和数字的转换: String类 String对象是不可改变的,字符串一旦创建,内容不能再改变. 构造字符 ...

  8. 2017-2018-2 165X 『Java程序设计』课程每周成绩公布

    2017-2018-2 165X 『Java程序设计』课程 每周成绩公布 本博客将跟随教学进度不定期更新,每次更新后将在课程群公布.如对成绩有疑问,请于公布成绩后的1天之内联系助教,进行审核确认. - ...

  9. 使用Idea初始化SpringMvc项目

    (1) (2) (3) (4) (5)感谢http://www.cnblogs.com/feiyujun/p/6537510.html (6)

  10. How to Repair GRUB2 When Ubuntu Won’t Boot

    Ubuntu and many other Linux distributions use the GRUB2 boot loader. If GRUB2 breaks—for example, if ...