Educational Codeforces Round 83 (Rated for Div. 2)A--C
地址:http://codeforces.com/contest/1312


题意:给出一个边数为n的等边多边形,问是否可以变成m的等边多边形。条件是同一个中心,共用原顶点。
解析:直接n%m==0即可,这样就是平分了。签到题没得说了。
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<map>
using namespace std;
typedef long long ll;
const int maxn=1e4;
int pr[maxn];
int find(int x)
{
if(x!=pr[x])
return pr[x]=find(pr[x]);
return x;
}
void join(int x1,int x2)
{
int f1=find(x1),f2=find(x2);
if(f1!=f2)
{
pr[f1]=f2;
}
return ;
}
int main()
{
int t;
cin>>t;
while(t--)
{
int n,m;
cin>>n>>m;
if(n%m==)
cout<<"YES"<<endl;
else
cout<<"NO"<<endl;
}
}

题意:把给定数组任意排列,保证i<j时,j-a[j]!=i-a[i]。输出任意一组答案。
解析:sort一下从大到小排列即可。看数据的话,暴力也是可以的。
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<map>
using namespace std;
typedef long long ll;
int a[];
int main()
{
int t;
cin>>t;
while(t--)
{
int n;
cin>>n;
for(int i=;i<=n;i++)
cin>>a[i];
while()
{
int ok=;
for(int i=;i<=n;i++)
{
for(int j=i+;j<=n;j++)
{
if((j-a[j])==(i-a[i]))
{
ok=;break;
}
}
if(ok)
break;
}
if(!ok)
break;
for(int i=;i<=n;i++)
{
for(int j=i+;j<=n;j++)
{
if((j-a[j])==(i-a[i]))
{
swap(a[i],a[j]);
}
}
}
}
for(int i=;i<n;i++)
cout<<a[i]<<" ";
cout<<a[n]<<endl;
} }


题意:给你一个个数为n的数组a[],判断是否可以由相同大小的全0数组v[]变换而来。
变换规则:
1.在第i次操作时,你可以给数组v任意位置的值加上k^i
2.在第i次什么也不做。
解析:这其实就是一个进制的题。对于任意一个a【i】假设k进制对其有n位:a[i]= x0* k^0 +x1* k^1 +x2* k^2 +……+x(n-1)* k^n-1
而这个题对于k^i的i,是不断递增的,即每个i只能出现一次。所以我们只要知道每个k^i的系数,大于1,就是NO了。
举个例子:二进制,k=2
5 6
5的二进制表示为101,2为110,101
110 可以看出,2^2那里出现了两次,肯定不服题意了。
这里用vis[]来记录各个k^i的出现次数,记住vis是与实际转化的k进制数方向是相反的。vis[]+=a[i]%k,这个a[i]%k,就是系数,即次数。最后注意一下vis[]开的大些
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<map>
using namespace std;
typedef long long ll;
const int maxn=;
const int maxn2=;
ll a[maxn];
int vis[maxn2];
int t;
int main()
{
scanf("%d",&t);
while(t--)
{
int n,k;
scanf("%d%d",&n,&k);
for(int i=;i<n;i++)
scanf("%lld",&a[i]);
memset(vis,,sizeof(vis));
int ok=;
for(int i=;i<n;i++)
{
int tot=;
while(a[i])
{
tot++;
vis[tot]+=a[i]%k;
a[i]=a[i]/k;
if(vis[tot]>)
{
ok=;break;
}
}
if(ok)
break;
}
if(!ok)
cout<<"YES"<<endl;
else
cout<<"NO"<<endl;
}
}
Educational Codeforces Round 83 (Rated for Div. 2)A--C的更多相关文章
- Educational Codeforces Round 83 (Rated for Div. 2)
A. Two Regular Polygons 题意:给你一个 正n边形,问你能否以这个 n 的其中一些顶点组成一个 m边形, 思路 :如果 n % m == 0 ,就可 收获:边均分 B. Bogo ...
- Educational Codeforces Round 60 (Rated for Div. 2) - C. Magic Ship
Problem Educational Codeforces Round 60 (Rated for Div. 2) - C. Magic Ship Time Limit: 2000 mSec P ...
- Educational Codeforces Round 60 (Rated for Div. 2) - D. Magic Gems(动态规划+矩阵快速幂)
Problem Educational Codeforces Round 60 (Rated for Div. 2) - D. Magic Gems Time Limit: 3000 mSec P ...
- Educational Codeforces Round 43 (Rated for Div. 2)
Educational Codeforces Round 43 (Rated for Div. 2) https://codeforces.com/contest/976 A #include< ...
- Educational Codeforces Round 35 (Rated for Div. 2)
Educational Codeforces Round 35 (Rated for Div. 2) https://codeforces.com/contest/911 A 模拟 #include& ...
- Codeforces Educational Codeforces Round 44 (Rated for Div. 2) F. Isomorphic Strings
Codeforces Educational Codeforces Round 44 (Rated for Div. 2) F. Isomorphic Strings 题目连接: http://cod ...
- Codeforces Educational Codeforces Round 44 (Rated for Div. 2) E. Pencils and Boxes
Codeforces Educational Codeforces Round 44 (Rated for Div. 2) E. Pencils and Boxes 题目连接: http://code ...
- Educational Codeforces Round 63 (Rated for Div. 2) 题解
Educational Codeforces Round 63 (Rated for Div. 2)题解 题目链接 A. Reverse a Substring 给出一个字符串,现在可以对这个字符串进 ...
- Educational Codeforces Round 39 (Rated for Div. 2) G
Educational Codeforces Round 39 (Rated for Div. 2) G 题意: 给一个序列\(a_i(1 <= a_i <= 10^{9}),2 < ...
随机推荐
- xpath-helper 插件下载
链接:https://pan.baidu.com/s/1YuTGrdwwAKQd2sIcuarBHQ 提取码:qb8p
- 复习break、continue、while、do-while的运用
一.复习: 循环.反复执行某段语句一种语法形式. 1.基本语法: for( 初始条件 ; 循环条件 ; 状态的改变 ) { 循环体 } 循环的四要素. 循环的执行过程.初始条件--循环条件--循环体- ...
- 实例理解scala 隐式转换(隐式值,隐式方法,隐式类)
作用 简单说,隐式转换就是:当Scala编译器进行类型匹配时,如果找不到合适的候选,那么隐式转化提供了另外一种途径来告诉编译器如何将当前的类型转换成预期类型.话不多说,直接测试 ImplicitHel ...
- Spring 插件安装
文件下载:https://pan.baidu.com/s/1jIBOggm 网站下载:http://dist.springsource.com/release/TOOLS/update/e4.5/
- 二、Android XML数据解析
XML,可扩展标记语言.可以用来存储数据,可以看做是一个小型的数据库,SharedPreference就是使用XML文件存储数据的,SQLite底层也是一个XML文件,而在网络应用方面,通常作为信息的 ...
- 吴裕雄--python学习笔记:BeautifulSoup模块
import re import requests from bs4 import BeautifulSoup req_obj = requests.get('https://www.baidu.co ...
- 测试一个数字是否等于 NaN
ES6提供了一个新的 Number.isNaN() 函数,这是一个不同的函数,并且比老的全局 isNaN() 函数更可靠.
- Luogu_1280_尼克的任务
题目描述 尼克每天上班之前都连接上英特网,接收他的上司发来的邮件,这些邮件包含了尼克主管的部门当天要完成的全部任务,每个任务由一个开始时刻与一个持续时间构成. 尼克的一个工作日为N分钟,从第一分钟开始 ...
- python中字典dic详解-创建,遍历和排序
原文地址:http://www.bugingcode.com/blog/python_dic_create_sort.html 在python的编程中,字典dic是最典型的数据结构,看看如下对字典的操 ...
- Django中的Model.objects.create() 和 Model() 的区别?
Django 官方文档说明 objects.create 是 A convenience method for creating an object and saving it all in one ...