每个标题都做了题目原网址的超链接


Day21《Alphabetic Removals

题意:

给定一个字符串,要求按照字典序按照出现的前后顺序删除 k 个字母

题解:

  1. 记录字符串中各个字母出现次数
  2. 删去字典序下前 k 个

代码注释会比较清楚,题解可能讲的有点模糊了

上板子:

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int num[26] = { 0 };
int main()
{
int n, k;
cin >> n >> k;
string s;
cin >> s;
string t = s;
sort(s.begin(), s.end());//按照字典序 a-z 排序
for (int i = 0; i < k; i++)
{
num[s[i] - 'a']++;//前k个字符都删除,记录其对应的字母的个数
}
for (int i = 0; i < t.size(); i++)
{
if (num[t[i] - 'a']) num[t[i] - 'a']--;//按照出现次序删除字母
else cout << t[i];//该字母已无需删除
}
return 0;
}

Day22《Anti-Sudoku

题意:

更改一个数独使其满足:每行、列、3*3的方格内,至少有两个元素相等

题解:

更改一个数为另一个数就行

上板子:

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 2e5 + 7;
int cnt[N];
int main() {
int t;
cin >> t;
while (t--) {
for (int i = 0; i < 9; i++) {
string s;
cin >> s;
for (char& c : s)
if (c == '1')//随便一个1~9的数字变成1~9的另一个数字即可
c = '2';
cout << s << endl;
}
}
}

Day23《Boats Competition

题意:

给定 n 个数构成的数组, 让我们自定义一个数 s , 使得对于任选 ai 与 aj(i≠j),满足 ai+aj=s 的组合尽可能多,输出个数

题解:

一点闲话:

  1. 这个题关键的地方就是注意到数据范围都很小,这就启示我们可以暴力。
  2. 想到了用map<int,int>记录 s 与 s 的出现次数,但是没有想到怎么合适地处理循环问题

正经题解:记录给出的数组中每个数字出现的次数(代码注释较为详细)

上板子:

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 1E2 + 10;//n最大只有50, wi最大也只有50, 所以s最大不会超过100
int a[N], b[N]; //a数组存放n个数据(可以不要), b数组存放为x的值有多少个
int main()
{
int t;
cin >> t;
while (t--) {
memset(b, 0, sizeof b);
int n;
cin >> n;
for (int i = 1; i <= n; ++i)
scanf("%d", &a[i]), b[a[i]]++;
int ans = 0;
for (int k = 2; k <= 2 * n; ++k) {
int cnt = 0; //s=k时的结果数量
for (int i = 1; i <= k / 2; ++i) { //避免重复只枚举前一半即可
if (b[i] && b[k - i] && i != k - i) { //要避免取到相同的数字情况
int temp = min(b[i], b[k - i]);
cnt += temp;
}
}
if ((k & 1) == 0) cnt += b[k >> 1] >> 1; //是偶数, 可能由相同数字组成
ans = max(ans, cnt);
}
cout << ans << endl;
}
return 0;
}

[codeforces] 暑期训练之打卡题(三)的更多相关文章

  1. [codeforces] 暑期训练之打卡题(一)

    每个标题都做了题目原网址的超链接 Day1<Vanya and Lanterns> 题意: 一条长度为 l 的街道,在这条街道上放置了n个相同的灯,街道一端位置记为0,每个灯的位置在ai处 ...

  2. [codeforces] 暑期训练之打卡题(二)

    每个标题都做了题目原网址的超链接 Day11<Given Length and Sum of Digits...> 题意: 给定一个数 m 和 一个长度 s,计算最大和最小在 s 长度下, ...

  3. Codeforces Round #524 (Div. 2)(前三题题解)

    这场比赛手速场+数学场,像我这样读题都读不大懂的蒟蒻表示呵呵呵. 第四题搞了半天,大概想出来了,但来不及(中途家里网炸了)查错,于是我交了两次丢了100分.幸亏这次没有掉rating. 比赛传送门:h ...

  4. Codeforces Round #378 (Div. 2) D题(data structure)解题报告

    题目地址 先简单的总结一下这次CF,前两道题非常的水,可是第一题又是因为自己想的不够周到而被Hack了一次(或许也应该感谢这个hack我的人,使我没有最后在赛后测试中WA).做到C题时看到题目情况非常 ...

  5. [小结] 中山纪念中学2018暑期训练小结(划掉)(颓废记)-Day10

    [小结] 中山纪念中学2018暑期训练小结(划掉)(颓废记)-Day10 各位看众朋友们,你们好,今天是2018年08月14日,星期二,农历七月初四,欢迎阅看今天的颓废联编节目 最近发生的灵异事件有 ...

  6. Codeforces Round #612 (Div. 2) 前四题题解

    这场比赛的出题人挺有意思,全部magic成了青色. 还有题目中的图片特别有趣. 晚上没打,开virtual contest打的,就会前三道,我太菜了. 最后看着题解补了第四道. 比赛传送门 A. An ...

  7. Noip2019暑期训练2 反思

    经过两次测试,通过深刻的反思,我主要发现了以下易犯错误: 1.做题目时过于追求速度,导致好几处代码都出现手误打错的现象!而且,千万不要图快.图方便就复制粘贴,非常容易出错!(例如T3-party中直接 ...

  8. Android测试基础题(三)

    今天接着给大家带来的是Android测试基础题(三).    需求:定义一个排序的方法,根据用户传入的double类型数组进行排序,并返回排序后的数组 俗话说的好:温故而知新,可以为师矣 packag ...

  9. 算法训练 Hankson的趣味题

    算法训练 Hankson的趣味题   时间限制:1.0s   内存限制:64.0MB        问题描述 Hanks 博士是BT (Bio-Tech,生物技术) 领域的知名专家,他的儿子名叫Han ...

随机推荐

  1. HCNP Routing&Switching之组播技术-组播路由协议PIM

    前文我们了解了组播技术中组播分发树相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/16019334.html:今天我们来聊一聊组播路由协议PIM相关话题 ...

  2. oracle 多列求和

    第一种: select sum(decode(count1,null,0,count1) +decode(count2,null,0,count2) +decode(count3,null,0,cou ...

  3. css使Img图片居中显示

    <div class="flex-center listing-img"> <img v-if="item.imgUrl" v-bind:sr ...

  4. python修改Gsettings的配置文件

    GSettings 的配置文件是 xml 格式的,文件需以 .gschema.xml 结尾,文件名通常与 id 相同.配置文件安装在 /usr/share/glib-2.0/schemas/ 目录下, ...

  5. Java类型转换详解

    Java类型转换详解 最近有同学问:自动类型转换老是记不住,到底是大转小,还是小转大 其实这个不用死记硬背,很好理解,我们拿 int 和 short 来举例: int 是 4 字节,也就是 32 bi ...

  6. php文件下载服务器代码

    事情的起因 额,平板想下载电脑上的pdf文件,我开启了web服务,局域网下的ipad访问该文件web路径会直接打开该pdf,而不是下载.于是本小白就折腾了一下. 源代码 <?php forceD ...

  7. Arrays工具类与Collections工具类

    Arrays工具类 : Arrays.sort():对指定数组进行排序,从小到大 Arrays.toString():返回数组的内容的字符串表示形式 Arrays.asList():数组转List,但 ...

  8. 在容器使用stress指令进行负载压测

    安装stressstress是一个linux下的压力测试工具,专门为那些想要测试自己的系统,完全高负荷和监督这些设备运行的用户 在容器中安装docker容器压测工具 stress #先安装一些基础工具 ...

  9. 巧用 background-clip 实现超强的文字动效

    最近,有同学询问,如何使用 CSS 实现如下效果: 看起来是个很有意思的动效. 仔细思考一下,要想实现这类效果,其实用到的核心属性只有一个 -- background-clip: text. 有意思的 ...

  10. PostgreSQL安装 报there has been an error.Error running

    直接用postgresql-11.2-1:https://get.enterprisedb.com/postgresql/postgresql-11.2-1-windows-x64.exe这个版本的安 ...