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


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. IE中input标签密码框与文本框宽度不一样问题

    前言 在项目登录界面中有账户和密码的输入框,在Chrome中显示是正常的(本人使用的是Chrome浏览器,平时不用IE).等部署到客户的服务器上,访问时发现一个问题,在IE浏览器中文本框与密码框的宽度 ...

  2. Java List转为Object组

    代码: private Object[] ListToObject(List<String> list){ Object [] tem = new Object[]{}; int size ...

  3. executeFind()方法和execute()方法区别

    返回类型不同:executeFind()方法返回集合,execute()方法返回对象 executeFind @Override public List<TCpContact> getCp ...

  4. 面试问题整理之flex 布局

  5. vue里面v-for显示红色波浪线

    vue里面使用v-for代码显示红色的波浪线,解决办法: before: <div v-for="tmsgs in msg.message"></div> ...

  6. IP和静态路由技术概述

    1. IP地址的构成 IP地址:32比特的二进制数字,通常采用点分十进制方式表示. IP地址由两部分组成. 网络号码字段(Net-id)用于区分不同的网络.网络号码字段的前几位成为类别字段(又称为类别 ...

  7. VUE3 之 使用 Mixin 实现代码的复用 - 这个系列的教程通俗易懂,适合新手

    1. 概述 老话说的好:舍得舍得,先舍才能后得. 言归正传,今天我们来聊聊 VUE 中使用 Mixin 实现代码的复用. 2. Mixin 的使用 2.1 不使用 Mixin 的写法 <body ...

  8. Java基础之浅谈集合

    Java基础知识.关于List.Set.Map接口的了解,以及ArrayList.LinkedList.HashSet.TreeSet.HashMap.TreeMap...

  9. Windows10 office 点击链接提示您的组策略阻止我们为您完成此操作。设置ChromeHTML也无效.

    问题: win10环境点击office 中的网络链接时  出现了如下报错(一般在卸载了系统预装的其他浏览器后出现问题) 解决方案: 1.设置默认浏览器(已经设置可跳过) 控制面板->设置小图标 ...

  10. Bugku练习题---Crypto---聪明的小羊

    Bugku练习题---Crypto---聪明的小羊 flag:flag{6fde4163df05d900} 解题步骤: 1.观察题目,下载附件 2.根据题目描述,判断是栅栏密码,位移2位,白给题,上网 ...