Codeforces Round #319 (Div. 1) div1 A B C
发布日期:2021-11-16 12:56:58
浏览次数:2
分类:技术文章
本文共 2231 字,大约阅读时间需要 7 分钟。
这把爆零居然才扣110,应该扣个200+让我刻骨铭心才对。前三题都是偏思维的,也不难,然而我恰好过了三题的pre然后全挂。
A
根据唯一分解定理,素数的整数幂必问,这样才能分辨出来。其他的数不用问,因为可以表示为素数整数幂的乘积。
#includeusing namespace std; bool flag[1010];int ans[1010];bool prime[1010];int main(){ for(int i=2;i<=32;i++){ for(int j=i*2;j<=1000;j+=i){ prime[j]=1; } } int n; while(cin>>n){ int k=0; for(int i=2;i<=n;i++){ if(prime[i])continue; int cur=i; if(!flag[i]){ while(cur<=n){ ans[k++]=cur; flag[cur]=1; cur*=i; } } } cout< <
B
有两种情况输出YES,第一种,有在原位置的数(循环长度为1),这种情况下拿其他所有数和它连边就行了;第二种,存在长度为2的循环,且其他所有循环的长度均为偶数,这种情况下,假设长度为2的循环是x,y,xy连一条边,对于其他的循环,循环内的数轮流连x和y。大家可以试着出奇数长度的循环和没有长度为2的循环的情况,很容易就明白了,在这样的情况下,需要大于n条边才能使得图不矛盾。
#includeusing namespace std; int a[100010];bool vis[100010];int cnt[100010];int main(){ int n; cin>>n; for(int i=1;i<=n;i++){ scanf("%d",&a[i]); } bool one=0; bool two=0; int root=0; bool odd=0; int x; int y; for(int i=1;i<=n;i++){ if(!vis[i]){ int cur=a[i]; while(!vis[cur]){ vis[cur]=1; cur=a[cur]; cnt[i]++; } if(cnt[i]==1){ one=1; root=i; } if(cnt[i]==2){ two=1; x=i; y=a[i]; } if(cnt[i]>2){ if(cnt[i]&1)odd=1; } } } if(one){ cout<<"YES"<
C
分块。可以把横坐标分为1000份,每份长度为1000,在每个区间内,将点按纵坐标排序,轮流升序/降序输出。这样大致是一个蛇形的顺序,可以证明最坏情况下总距离不会超过限制。
#includeusing namespace std; struct point{ int x,y; int id; point(int x,int y):x(x),y(y){ } point(){ } bool operator<(const point &other)const{ return x vpts[1005];int main(){ int n; cin>>n; for(int i=1;i<=n;i++){ scanf("%d%d",&pts[i].x,&pts[i].y); pts[i].id=i; vpts[pts[i].y/1000].push_back(pts[i]); } for(int i=0;i<=1000;i++){ sort(vpts[i].begin(),vpts[i].end()); } for(int i=0;i<=1000;i++){ if(i&1){ for(int k=0;k =0;k--){ printf("%d ",vpts[i][k].id); } } } return 0;}
转载地址:https://blog.csdn.net/squee_spoon/article/details/48377191 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
很好
[***.229.124.182]2024年04月04日 15时58分07秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
红绿灯迷惑行为盘点
2019-04-26
女生节特辑 | 直男求生指南
2019-04-26
5分钟带你快速回顾MySQL基础语法
2019-04-26
python基础(1)--输入、输出、注释、数据类型、类型判断
2019-04-26
力扣(LeetCode)试题--两数之和
2019-04-26
力扣(LeetCode)试题--两数相加
2019-04-26
模拟高考查分页面,考生最后的狂欢
2019-04-26
centos8磁盘整体扩容(不是挂载)
2019-04-26
SpringFramework之IOC(控制反转)详解
2019-04-26
jdbc连接数据库两个常见问题及解决方法
2019-04-26
Poj百练 2810:完美立方 (分类:枚举)
2019-04-26
彻底解决tomcat控制台乱码问题(windows控制台+idea控制台)
2019-04-26
如何在junit中使用SpringFramework的Ioc容器
2019-04-26
一个案例教你理解Spring面向切面编程(Spring Aop)
2019-04-26
手把手教你整合SSM框架
2019-04-26
自己造个简单数据校验的注解@Value和@Mail
2019-04-26
Poj百练 4148:生理周期 (分类:枚举)
2019-04-26
Java如何读写注册表
2019-04-26
java如何利用模板文件生成word文档
2019-04-26
java读写xlsx格式的MS Excel文件
2019-04-26