Codeforces Round#500 Div.2 翻车记
A:签到
#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstdlib>
#include<cstring>
#include<algorithm>
using namespace std;
int read()
{
int x=,f=;char c=getchar();
while (c<''||c>'') {if (c=='-') f=-;c=getchar();}
while (c>=''&&c<='') x=(x<<)+(x<<)+(c^),c=getchar();
return x*f;
}
#define N 55
int n,x,y;
int main()
{
n=read();
for (int i=;i<=n;i++) x+=read();
for (int i=;i<=n;i++) y+=read();
if (x>=y) cout<<"Yes";else cout<<"No";
return ;
}
B:用不上位运算的各种性质,开个桶记一下能不能对应上就好。
#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstdlib>
#include<cstring>
#include<algorithm>
using namespace std;
int read()
{
int x=,f=;char c=getchar();
while (c<''||c>'') {if (c=='-') f=-;c=getchar();}
while (c>=''&&c<='') x=(x<<)+(x<<)+(c^),c=getchar();
return x*f;
}
#define N 100010
int n,x,a[N],f[N<<];
int main()
{
n=read(),x=read();
for (int i=;i<=n;i++) f[a[i]=read()]++;
for (int i=;i<=n;i++) if (f[a[i]]>) {cout<<;return ;}
for (int i=;i<=n;i++) if (f[x&a[i]]>(a[i]==(x&a[i]))) {cout<<;return ;}
memset(f,,sizeof(f));
for (int i=;i<=n;i++) f[a[i]&x]++;
for (int i=;i<=n;i++) if (f[x&a[i]]>) {cout<<;return ;}
cout<<-;
return ;
}
C:容易发现横坐标或纵坐标选取连续的一段最优。枚举横/纵坐标选取的起始位置就好。
#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstdlib>
#include<cstring>
#include<algorithm>
using namespace std;
int read()
{
int x=,f=;char c=getchar();
while (c<''||c>'') {if (c=='-') f=-;c=getchar();}
while (c>=''&&c<='') x=(x<<)+(x<<)+(c^),c=getchar();
return x*f;
}
#define N 100010
int n,a[N<<];
int main()
{
n=read();
for (int i=;i<=n*;i++) a[i]=read();
sort(a+,a+n*+);
long long ans=1ll*(a[n]-a[])*(a[n*]-a[n+]);
for (int i=;i<=n;i++) ans=min(ans,1ll*(a[n*]-a[])*(a[n+i-]-a[i]));
cout<<ans;
return ;
}
貌似写这三题时达到的最高排名是十几名,有点小膨胀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题还是得先想好状态和转移,推倒重来太耗时间了。
以及,先看清题意啊。
Codeforces Round#500 Div.2 翻车记的更多相关文章
- Codeforces Round#509 Div.2翻车记
A:签到 #include<iostream> #include<cstdio> #include<cmath> #include<cstdlib> # ...
- Educational Codeforces Round 56 Div. 2 翻车记
A:签到. B:仅当只有一种字符时无法构成非回文串. #include<iostream> #include<cstdio> #include<cmath> #in ...
- Educational Codeforces Round 55 Div. 2 翻车记
A:签到. #include<iostream> #include<cstdio> #include<cmath> #include<cstdlib> ...
- Codeforces Round#514 Div.2 翻车记
A:签到 #include<iostream> #include<cstdio> #include<cmath> #include<cstdlib> # ...
- Codeforces Round #524 Div. 2 翻车记
A:签到.room里有一个用for写的,hack了一发1e8 1,结果用了大概600+ms跑过去了.惨绝人寰. #include<iostream> #include<cstdio& ...
- Codeforces Round#516 Div.1 翻车记
A:开场懵逼.然后发现有人1min过,于是就sort了一下,于是就过了.正经证明的话,考虑回文串两端点一定是相同的,所以最多有Σcnti*(cnti+1)/2个,cnti为第i种字母出现次数.而sor ...
- Codeforces Round #517 Div. 1翻车记
A:真的懵逼了.冷静了半天之后决定二分一下答案,然后先a安排上尽量小的再贪心地一个个扩大.40min才过.这个做法非常怂的以代码复杂度和时间复杂度为代价换取了比较稳的正确性,事实上由于1~n可以组合出 ...
- Educational Codeforces Round 53 Div. 2翻车记
A:差点开场懵逼.只要有相邻两位不同就可以作为答案. #include<iostream> #include<cstdio> #include<cmath> #in ...
- Codeforces Round #500 (Div. 2) [based on EJOI]
Codeforces Round #500 (Div. 2) [based on EJOI] https://codeforces.com/contest/1013 A #include<bit ...
随机推荐
- python wsgi 简介
wsgi全称是"Web Server Gateway Interfacfe",web服务器网关接口,wsgi在python2.5中加入,是web服务器和web应用的标准接口,任何实 ...
- Luogu2183 礼物 ExLucas、CRT
传送门 证明自己学过exLucas 这题计算的是本质不相同的排列数量,不难得到答案是\(\frac{n!}{\prod\limits_{i=1}^m w_i! \times (n - \sum\lim ...
- C#基础巩固(3)-Linq To XML 读取XML
记录下一些读取XML的方法,以免到用的时候忘记了,还得花时间去找. 一.传统写法读取XML 现在我有一个XML文件如下: 现在我要查找名字为"王五"的这个人的 Id 和sex(性别 ...
- Luogu P3177 [HAOI2015]树上染色
一道有机结合了计数和贪心这一DP两大考点的神仙题,不得不说做法是很玄妙. 首先我们很容易想到DP,设\(f_{i,j}\)表示在以\(i\)为根节点的子树中选\(j\)个黑色节点的最大收益值. 然后我 ...
- 51Nod 1299 监狱逃离
这其实是一道树形DP的神仙题. 然后开始推推推,1 hour later样例都过不了 然后仔细一看题目,貌似像一个最小割模型,然后5min想了想建图: 首先拆点,将每个点拆成进和出两个,然后连边,边权 ...
- RHEL7VIM编辑器
本文介绍Vim编辑器的使用 vi和vim的区别 它们都是多模式编辑器 不同的是vim是vi的升级版本 它不仅兼容vi的所有指令而且还有一些新的特性在里面 vim的这些优势主要体现在以下几个方面 多级撤 ...
- 使用Junit进行单元测试
使用Junit进行单元测试 一.目的和要求 JUnit是一款由Erich Gamma(<设计模式>的作者)和Kent Beck(极限编程的提出者)编写的开源的回归测试框架,供Java编码人 ...
- 读后感for《一个程序员的生命周期》
我是村里走出来的孩子,妈妈说我也许是家里唯一一个大学生了,家里从选专业开始也赋予我厚望.说实话,上大学是父母经济压力最大的时候.心疼,大概就是早上六七点起床,看到爸爸一夜没睡,带着倦容眼睛红红的还在工 ...
- SpringMVC-RESTRUL___CRUD知识点总结
RESTful风格 <!-- 携带surveyId去后台 --><!-- RESTFUL风格:/xxx/23 --><!-- 接收方式:@PathVariable注解 - ...
- David Silver强化学习Lecture3:动态规划
课件:Lecture 3: Planning by Dynamic Programming 视频:David Silver强化学习第3课 - 动态规划(中文字幕) 动态规划 动态(Dynamic): ...