博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Codeforces Round#500 Div.2 翻车记
阅读量:4323 次
发布时间:2019-06-06

本文共 2580 字,大约阅读时间需要 8 分钟。

  A:签到

#include
#include
#include
#include
#include
#include
using namespace std;int read(){ int x=0,f=1;char c=getchar(); while (c<'0'||c>'9') { if (c=='-') f=-1;c=getchar();} while (c>='0'&&c<='9') x=(x<<1)+(x<<3)+(c^48),c=getchar(); return x*f;}#define N 55int n,x,y;int main(){ n=read(); for (int i=1;i<=n;i++) x+=read(); for (int i=1;i<=n;i++) y+=read(); if (x>=y) cout<<"Yes";else cout<<"No"; return 0;}

  B:用不上位运算的各种性质,开个桶记一下能不能对应上就好。

#include
#include
#include
#include
#include
#include
using namespace std;int read(){ int x=0,f=1;char c=getchar(); while (c<'0'||c>'9') { if (c=='-') f=-1;c=getchar();} while (c>='0'&&c<='9') x=(x<<1)+(x<<3)+(c^48),c=getchar(); return x*f;}#define N 100010int n,x,a[N],f[N<<1];int main(){ n=read(),x=read(); for (int i=1;i<=n;i++) f[a[i]=read()]++; for (int i=1;i<=n;i++) if (f[a[i]]>1) {cout<<0;return 0;} for (int i=1;i<=n;i++) if (f[x&a[i]]>(a[i]==(x&a[i]))) {cout<<1;return 0;} memset(f,0,sizeof(f)); for (int i=1;i<=n;i++) f[a[i]&x]++; for (int i=1;i<=n;i++) if (f[x&a[i]]>1) {cout<<2;return 0;} cout<<-1; return 0;}

  C:容易发现横坐标或纵坐标选取连续的一段最优。枚举横/纵坐标选取的起始位置就好。

#include
#include
#include
#include
#include
#include
using namespace std;int read(){ int x=0,f=1;char c=getchar(); while (c<'0'||c>'9') { if (c=='-') f=-1;c=getchar();} while (c>='0'&&c<='9') x=(x<<1)+(x<<3)+(c^48),c=getchar(); return x*f;}#define N 100010int n,a[N<<1];int main(){ n=read(); for (int i=1;i<=n*2;i++) a[i]=read(); sort(a+1,a+n*2+1); long long ans=1ll*(a[n]-a[1])*(a[n*2]-a[n+1]); for (int i=2;i<=n;i++) ans=min(ans,1ll*(a[n*2]-a[1])*(a[n+i-1]-a[i])); cout<

  貌似写这三题时达到的最高排名是十几名,有点小膨胀2333

  然后看D,完了没啥思路啊。赶紧跳E。

  咦这不是随便dp一下就好吗。码码码。

  啊好像不太对……咦这样改一下状态不就好了吗。码码码。

  啊好像不太对……咦这样改一下状态不就好了吗。码码码。

  啊好像不太对……咦这样改一下状态不就好了吗。码码码。

  ………………

  好像突然离结束只有半个小时了。期间从十几名一路掉到接近三百。

  终于找到一个比较靠谱的做法了。写起来感觉特别优美啊。

  码码码码完了。测样例。咦怎么挂了?

  调调调。还是不对啊?

  不是这样例怎么回事啊?

  哦我看错题了啊。

  瞬间翻车。还剩不到二十分钟,脑补一下这个题还是能做的,但根本码不完了啊。

  于是就弃疗了。不过看起来还是不会掉rating的。但还是好惨啊。

  D:冷静一下会发现,把行列各自看成点之后就是问图里有多少个连通块。

  E:后来发现还是想麻烦了,f[i][j]表示前i座山留j座(不考虑第i+1座的影响)花费的最少时间,加一维01状态记一下i留不留,转移时从f[i-1]和f[i-2]转移过来,讨论一下

  F:没看

  最后rank340,rating涨12。连着几场都在这附近感觉自己也确实就这么弱了啊。

  dp题还是得先想好状态和转移,推倒重来太耗时间了。

  以及,先看清题意啊。

转载于:https://www.cnblogs.com/Gloid/p/9392532.html

你可能感兴趣的文章
spring特点与好处
查看>>
html 自制属性
查看>>
面向对象术语概念
查看>>
细胞(cell) 矩阵快速幂
查看>>
HDU - 1272 小希的迷宫
查看>>
EntityFramework(1)基础概念与Database First
查看>>
Spring Boot 任务
查看>>
2018APIO 进京赶考
查看>>
Duilib程序添加托盘图标显示
查看>>
在windows上搭建redis集群(redis-cluster)
查看>>
【省选十连测之九】【DP】【组合计数去重】【欧拉函数】基本题
查看>>
文件上传功能 -- jquery.form.js/springmvc
查看>>
阿里云ecs(phpstudy一件包)
查看>>
Python核心编程的四大神兽:迭代器、生成器、闭包以及装饰器
查看>>
linux /proc/sys/fs/file-nr /proc/sys/fs/file-max /etc/security/limits.conf 三者的关联
查看>>
AndroidStudio-快捷键
查看>>
用python DIY一个图片转pdf工具并打包成exe
查看>>
6月14 空控制器和空操作及命名空间
查看>>
volicity文法学习和总结
查看>>
block 块的内部结构
查看>>