链接

签到题,求出位数,然后9*(位数-1)+ 从位数相同的全一开始加看能加几次的个数
#include<bits/stdc++.h>
using namespace std; int main(int argc, char const *argv[])
{
int t;
int y;
cin>>t;
int ans = 0;
while(t--)
{
cin>>y;
ans = 0;
int weishu = 0;
int temp = y;
while(temp>0)
{
weishu++;
temp/=10;
}
ans += (weishu-1)*9;
temp = 1;
for (int i = 1; i < weishu; ++i)
{
temp = temp*10+1;
}
for (int i = temp; i <= y; i += temp)
{
ans++;
}
cout<<ans<<endl;
} return 0;
}



链接

思路,用堆来维护所有的偶数,每次取最大的来除以二,但是需要在处理的时候去重。用STL的优先队列就可
#include<bits/stdc++.h>

using namespace std;

int main(int argc, char const *argv[])
{
//数的数量啊
//排序一波?
priority_queue<int> q;
int t;
cin>>t;
while(t--)
{
int n;
cin>>n;
int num;
int flag = 0;
for (int i = 0; i < n; ++i)
{
cin>>num;
if (!(num%2)) //不是奇数,插入就行
{
q.push(num);
flag++;
}
}
if(flag)
{
int top = q.top();
int ans = 0;
int cur = 0;
q.pop();
ans++;
if (!((top/2)%2))
{
q.push(top/2);
}
while(!q.empty())
{
cur = q.top();
//cout<<cur<<endl;
q.pop();
if (cur == top)
continue;
else //不是重复了哈
{
top = cur;
ans++;
if (!((top/2)%2))
{
q.push(top/2);
}
} }
cout<<ans<<endl;
}
else
cout<<"0"<<endl; } return 0;
}





链接

思考一下,因为two和one,是可能出现连起来出现的,所以先扫描一遍所有的twone这种的,去掉中间的o,然后再扫描一次把剩下的one和two
去掉中间那个字母就行。
#include<bits/stdc++.h>

using namespace std;
char s[150001]; int del[150001];
int main(int argc, char const *argv[])
{
ios::sync_with_stdio(false);
std::vector<int> a;
int t;
cin>>t;
while(t--)
{
cin>>s;
int ans = 0;
a.clear();
//memset(del, 0, sizeof(del));
int len = strlen(s);
for (int i = 0; i < len; ++i)
{
del[i]=0;
}
for (int i = 2; i < len-2; ++i)
{
if (s[i]=='o')
{
if (s[i-2]=='t'&&s[i-1]=='w'&&s[i+1]=='n'&&s[i+2]=='e')
{
//s.erase(i,1);
a.push_back(i+1);
del[i] = 1;
//cout<<i<<" ";
++ans ;
}
}
}
for (int i = 1; i <=len-2; ++i)
{
if (s[i]=='w')
{
if (s[i-1]=='t'&&s[i+1]=='o'&&!del[i+1])
{
del[i]=1;
a.push_back(i+1);
++ans;
//cout<<i<<" ";
}
}
if (s[i]=='n')
{
if (s[i-1]=='o'&&s[i+1]=='e'&&!del[i-1])
{
del[i]=1;
a.push_back(i+1);
++ans;
//cout<<i<<" ";
}
}
}
cout<<ans<<endl;
for (int i = 0; i < ans; ++i)
{
cout<<a[i]<<' ';
}
cout<<endl;
} return 0;
}

未完待续~

Codeforces Round #606 (Div. 2, based on Technocup 2020 Elimination Round 4)的更多相关文章

  1. 【cf比赛记录】Codeforces Round #606 (Div. 2, based on Technocup 2020 Elimination Round 4)

    比赛传送门 只能说当晚状态不佳吧,有点头疼感冒的症状.也跟脑子没转过来有关系,A题最后一步爆搜没能立即想出来,B题搜索没有用好STL,C题也因为前面两题弄崩了心态,最后,果然掉分了. A:简单数学 B ...

  2. 20191214 Codeforces Round #606 (Div. 2, based on Technocup 2020 Elimination Round 4)

    概述 切了 ABCE,Room83 第一 还行吧 A - Happy Birthday, Polycarp! 题解 显然这样的数不会很多. 于是可以通过构造法,直接求出 \([1,10^9]\) 内所 ...

  3. Codeforces Round #606 (Div. 2, based on Technocup 2020 Elimination Round 4) 题解

    Happy Birthday, Polycarp! Make Them Odd As Simple as One and Two Let's Play the Words? Two Fairs Bea ...

  4. Codeforces Round #596 (Div. 2, based on Technocup 2020 Elimination Round 2)

    A - Forgetting Things 题意:给 \(a,b\) 两个数字的开头数字(1~9),求使得等式 \(a=b-1\) 成立的一组 \(a,b\) ,无解输出-1. 题解:很显然只有 \( ...

  5. Codeforces Round #602 (Div. 2, based on Technocup 2020 Elimination Round 3

    A,有多个线段,求一条最短的线段长度,能过覆盖到所又线段,例如(2,4)和(5,6) 那么我们需要4 5连起来,长度为1,例如(2,10)(3,11),用(3,10) 思路:我们想一下如果题目说的是最 ...

  6. Codeforces Round #596 (Div. 2, based on Technocup 2020 Elimination Round 2) D. Power Products

    链接: https://codeforces.com/contest/1247/problem/D 题意: You are given n positive integers a1,-,an, and ...

  7. Codeforces Round #596 (Div. 2, based on Technocup 2020 Elimination Round 2) C. p-binary

    链接: https://codeforces.com/contest/1247/problem/C 题意: Vasya will fancy any number as long as it is a ...

  8. Codeforces Round #596 (Div. 2, based on Technocup 2020 Elimination Round 2) B2. TV Subscriptions (Hard Version)

    链接: https://codeforces.com/contest/1247/problem/B2 题意: The only difference between easy and hard ver ...

  9. Codeforces Round #596 (Div. 2, based on Technocup 2020 Elimination Round 2) A. Forgetting Things

    链接: https://codeforces.com/contest/1247/problem/A 题意: Kolya is very absent-minded. Today his math te ...

随机推荐

  1. 剑指Offer-28.数组中出现次数超过一半的数字(C++/Java)

    题目: 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字.例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}.由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2.如 ...

  2. HTML页面导入模板页面(Tomcat)

    找了个前端模板,多个HTML中有重复的部分,一改都改,所以对其进行重构,将重复的部分拿出来 看了很多方法,最简单的是jQuery,但是在我这没起作用,后来发现一个配置tomcat的ssi,让服务器帮我 ...

  3. Python程序中的进程操作-开启多进程(multiprocess.process)

    目录 一.multiprocess模块 二.multiprocess.process模块 三.process模块介绍 3.1 方法介绍 3.2 属性介绍 3.3 在windows中使用process模 ...

  4. linux--新装机图形化界面遇到的问题

    1 许可证信息 q 退出 c 继续 r 刷新 按以下顺序正确输入即可: 1  ------  2 -----  q  -----  yes

  5. Java连载46-Java中的多态

    一.多态的语法 1.关于多态中涉及到几个概念 (1)向上转型(upcasting) 子类型转换为父类型,又被称为自动类型转换 (2)向下转型(downcasting) 父类型转换为子类型,又被称为强制 ...

  6. VSCode 开发插件 推荐

    VSCode 必装的 10 个高效开发插件  本文介绍了目前前端开发最受欢迎的开发工具 VSCode 必装的 10 个开发插件,用于大大提高软件开发的效率. VSCode 的基本使用可以参考我的原创视 ...

  7. oracle trunc 日期 数字 的使用例子

    /**************日期********************/1.select trunc(sysdate) from dual --2013-01-06 今天的日期为2013-01-0 ...

  8. JXL工具包对Excle文件操作

    1.简介: XL - JXL(Java Excel API)是一个用来动态读写 Excel 文件的开源框架,利用它可以 在任何支持 Java 的操作系统上动态读写 Excel 文件. 2.开发步骤 1 ...

  9. js实现图片无缝循环跑马灯

    html 代码 <div class="myls-out-div" style="overflow: hidden;"> <ul id=&qu ...

  10. 【linux】linux命令--uptime查看机器存活多久和平均负载 解读平均负载含义

    一.uptime命令,查看机器存活时间和平均负载 键入命令: uptime 该结果和 top命令查看结果最上面一行的 是一样的显示. 返回数据介绍: #当前服务器时间: 19:56:44 #当前服务器 ...