一场3天前的cf
啊
这次的cf其实水的(指前4题)

题面就不给了awa
T1其实就是一个贪心,其实手模一下就好了。
可以发现,先让小的那个变大,然后在后面一直让小的加上大的
统计一下次数就是答案了。
因为如果是这样算的话,两次相加,大的那个数加上的数就是a+b,但是如果是单独加一个就是2b,b<a
所以得到了轮流加上这个数一定是更优的。
code
#include<bits/stdc++.h>
#define ll long long
using namespace std;
int a,b,n,T;
inline ll read()
{
char c=getchar();ll a=0,b=1;
for(;c<'0'||c>'9';c=getchar())if(c=='-')b=-1;
for(;c>='0'&&c<='9';c=getchar())a=a*10+c-48;
return a*b;
}
int main()
{
// freopen(".in","r",stdin);
// freopen(".out","w",stdout);
T=read();
while(T--)
{
a=read();b=read();n=read();bool flag=0;
int ans=0;
while(a<=n&&b<=n)
{
if(a<=b)a+=b;
else b+=a;
ans++;
}
cout<<ans<<endl;
}
return 0;
}
T2
就是找一个串,要求里面有>=n个的子串为"codeforces",求这个子串
这个我题面忘记了。。。
T3
简单题,题面不描述了。。
我百度翻译一看。。。
发现它把1e9给我翻译成了109。。。
艹。。。
其实有一个方法能够构造出任意个数的答案,就是因为他能够一个一个的加,大概是这样的

这种情况就是有一个的
下面的是两个的

三个及以上的就直接以此类推就好了
这就是正解了。。。
就是因为那个109.。。
我自己想了好久。。。。
淦
code
#include<bits/stdc++.h>
#define ll long long
using namespace std;
int n;
inline ll read()
{
char c=getchar();ll a=0,b=1;
for(;c<'0'||c>'9';c=getchar())if(c=='-')b=-1;
for(;c>='0'&&c<='9';c=getchar())a=a*10+c-48;
return a*b;
}
int main()
{
// freopen(".in","r",stdin);
// freopen(".out","w",stdout);
n=read();
int ans=4+3*n;
cout<<ans<<endl;
printf("0 0\n0 1\n1 0\n");
for(int i=1;i<=n;i++)
{
cout<<i<<' '<<i<<endl<<i<<' '<<i+1<<endl<<i+1<<' '<<i<<endl;
}
cout<<n+1<<' '<<n+1<<endl;
return 0;
}
T4
其实这就是一个贪心。。。。
我还以为是个数位dp。。。
因为,可以发现,我们如果要做一次变化,那么肯定是要是其中一个数越大越好的
一个是|,一个是&,这个其实就是在把其中的1和零分开。
如果这两个数上的这两个为都是0,那的到的就是两个0
如果一个是一,一个是零,那么,就可以使1到一个数上,0到另一个数上,这两个数一个是富集1的,一个是富集零的
如果两个数都是1,那么就是两个1
所以我们只需要去统计1的数量就好了
code
#include <bits/stdc++.h>
#define ll long long
using namespace std;
inline ll read() {
char c = getchar();
ll a = 0, b = 1;
for (; c < '0' || c > '9'; c = getchar())
if (c == '-')
b = -1;
for (; c >= '0' && c <= '9'; c = getchar()) a = a * 10 + c - 48;
return a * b;
}
ll b[1000001], cnt[10000001], m, a[100001], sum, ans = 0, n;
int main() {
n = read();
for (ll i = 1; i <= n; i++) {
a[i] = read();
for (ll j = 0; j <= 20; j++) {
if ((a[i] >> j) & 1)
b[j]++;
}
}
for (ll i = 1; i <= n; i++) {
ll sum = 0;
for (ll j = 0; j <= 20; j++) {
if (b[j]) {
sum |= (1 << j);
b[j]--;
}
}
ans += sum * sum;
}
cout << ans << endl;
return 0;
}
awa
这就是我写了的题目了
一场3天前的cf的更多相关文章
- 省选前的CF题
RT,即将退役的人懒得一篇篇写题解,于是有了这个东西 CF1004E 树上选一条不超过k个点的链,最小化其余点到链上点的最大距离 这个思路很有意思,不像平时一般的树上问题,是从叶子开始一点点贪心合并直 ...
- MIS2000 Lab,我的IT人生与职场--从零开始的前十五年 与 我的微创业
http://www.dotblogs.com.tw/mis2000lab/archive/2014/09/16/ithome_2014_ironman.aspx [IT邦幫忙]鐵人賽 -- MIS2 ...
- CF 681
我太水了...... 这是一场奇差无比的CF. A,看题意有困难,实际上还是很水的. B,枚举 1234567 和 123456 的个数,时间复杂度1e6以下 C,业界毒瘤模拟题.最TM坑的是还要输出 ...
- 校省选赛第一场C题解Practice
比赛时间只有两个小时,我没有选做这题,因为当时看样例也看不懂,比较烦恼. 后来发现,该题对输入输出要求很低.远远没有昨天我在做的A题的麻烦,赛后认真看了一下就明白了,写了一下,一次就AC了,没问题,真 ...
- CF卡技术详解——笔记
知识太全面了,摘抄摘不完,还是粘过来加上注释和笔记吧. 重点以及断句用加粗,注释用红括号. 一.CF卡技术及规格 一.CF卡技术及规格 1.CF卡简史 随着数码产品的高速普及,近年来闪存卡也进入了高速 ...
- UE4 距离场简单分析
距离上一篇博客已经有点久了,中间忙的飞起,忽然发现很久没写了,这样不好,写一篇和工作无关的吧. 一直想搞清UE4距离场的原理,网上有几乎找不到任何有关UE4距离场实现的内容,加上上篇末说要写一个完全的 ...
- CF Round #510 (Div. 2)
前言:没想到那么快就打了第二场,题目难度比CF Round #509 (Div. 2)这场要难些,不过我依旧菜,这场更是被\(D\)题卡了,最后\(C\)题都来不及敲了..最后才\(A\)了\(3\) ...
- 宋宝华: Linux内核编程广泛使用的前向声明(Forward Declaration)
本文系转载,著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 作者:宋宝华 来源: 微信公众号linux阅码场(id: linuxdev) 前向声明 编程定律 先强调一点:在一切可 ...
- Codeforces Round #567 (Div. 2)自闭记
嘿嘿嘿,第一篇文章,感觉代码可以缩起来简直不要太爽 打个div2发挥都这么差... 平均一题fail一次,还调不出错,自闭了 又一次跳A开B,又一次B傻逼错误调不出来 罚时上天,E还傻逼了..本来这场 ...
- .NET平台开源项目速览(11)KwCombinatorics排列组合使用案例(1)
今年上半年,我在KwCombinatorics系列文章中,重点介绍了KwCombinatorics组件的使用情况,其实这个组件我5年前就开始用了,非常方便,麻雀虽小五脏俱全.所以一直非常喜欢,才写了几 ...
随机推荐
- Rainbond助力“信创应用”迁移上云
Rainbond v5.14.2 版本,又称信创版本.从这个版本开始,开源用户也可以利用 Rainbond 管理符合信创要求的硬件计算资源.在这个版本中,产品团队将此前只在企业版产品中存在的信创相关功 ...
- Spring Boot 整合组件套路
自动配置类 Spring Boot 在整合任何一个组件的时候都会先添加一个依赖 starter,比如整合 MybatisPlus 有一个 mybatis-plus-boot-starter,如下: & ...
- 极速安装kubernetes-1.22.0(三台CentOS7服务器)
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 关于sealos 标题敢号称极速,是因为使用了开源项目 ...
- 巧用 awk 批量杀进程
今天遇到线上的一个问题: 我需要批量杀死某台机器的 PHP 进程,该怎么办? 注意,不是 php-fpm,是常驻任务. 如果是一个进程,那就好办了,ps -ef | grep php,找到 PID 然 ...
- 无需学习Python,一个公式搞定领导想看的大屏
摘要:本文由葡萄城技术团队于博客园原创并首发.转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 不要让"做不了"成为数字化转型的障碍 随着 ...
- 我真的不想再用mybatis和其衍生框架了选择自研亦是一种解脱
我真的不想再用mybatis和其衍生框架了选择自研亦是一种解脱 文档地址 https://xuejm.gitee.io/easy-query-doc/ GITHUB地址 https://github. ...
- VSCode中的快捷键
VS Code中的快捷键 文件和编辑操作 Ctrl+S:保存文件 Ctrl+K S:保存全部文件 Ctrl+C:复制 Ctrl+V:粘贴 Ctrl+X:剪切 Ctrl+F:查找 Ctrl+H:替换 C ...
- Visual Studio常用快捷键(附带免费PDF)
前言 对于开发者而言,熟悉快捷键的使用,能够起到事半功倍的作用,提高工作效率.以下是我整理的一份Visual Studio常用快捷键清单,希望能够帮助到你. 常用快捷方式 快捷键 功能 Ctrl + ...
- [python]使用faker库生成测试数据
简介 Faker库可用于随机生成测试用的虚假数据. 可生成的数据参考底部的参考链接. 安装: python -m pip install faker 快速入门 from faker import Fa ...
- Kali开机启动模式修改
kali Linux安装之后默认启动图形化界面,为了减轻系统负担,可以修改启动进入字符界面. 具体步骤如下: 1.打开引导配置文件 vim /etc/default/grub 2.修改GRUB_CMD ...