cf的修炼之路 只会a和b 好菜
镜子的分享
学习永无止境
展开
-
C. Sum of Cubes 二分查找的思想
C. Sum of Cubes题意:t组数据 每组数据输入一个数 输入的数的数据范围1–1e12 看此数能否由 两个数的三次方的和表示 能则输出 YES ,否则输出 NO 。题解:这里 根据数据范围可以将 1-1000 的三次方的数都存下来 遍历数组从而 将问题转换为 两个三次方的数相加是否可以得到输入的数,此过程应用了二分的思想。代码:#include<iostream>using namespace std;long long a[10010];void judge(lo原创 2021-07-21 10:43:38 · 180 阅读 · 0 评论 -
A. Dense Array ceil函数的应用
A. Dense Array题解:满足以下 公式:原创 2021-07-21 10:32:16 · 154 阅读 · 0 评论 -
A. Binary Decimal acii码 字符 数字的转换 vector容器 sort 排序
A. Binary Decimal题意:输入t组数据 每组数据输入一个一串数字 每串数字都可以 看作是 只能由 0 和 1 组成的 数字的和 则一个数字串最少可以 拆分为 几组 ;题解:拆几组试试不难理解 找出数字串中 数字最大的数 就是拆分的 最小 组数。代码:#include<iostream>#include<vector>#include<algorithm>#include<string>using namespace st原创 2021-07-20 20:47:26 · 113 阅读 · 0 评论 -
B. Maximum Cost Deletion 计算字符串有几段
B. Maximum Cost Deletion题意:t 组数据 输入n 和 a 和 b 输入n个字符的字符串 此字符串只含有0 1, 求 a*x+b的最大值 x指每次删除字符串中相同的1或者0 把字符串字符删完为止。题解:无论如何 a都会乘以n ,因此只用看 n 个b相加大 还是 x段b相加大。代码:#include<iostream>#include<string>using namespace std;int n, a, b;string ch;原创 2021-07-20 20:39:17 · 104 阅读 · 0 评论 -
D. Same Differences 题解主要应用cn2公式
D. Same Differences 题解主要应用cn2公式题意:输入 t 组数据找到 a[j] - i = a[i] - j 的个数题解:脑子一转 嗯嗯 直接找每组 a[j] = j 的个数 然后求cn2最后将每一种 a[j] - j的 cn2 相加朴素代码:#include<iostream>#include<map>using namespace std;const int N = 2e5 + 10;int a[N];int n, m;void j原创 2021-07-20 17:39:51 · 192 阅读 · 0 评论 -
cf_b题解 719_div3 B. Ordinary Numbers_char数组求个数 递归初试
cf_b题解 719_div3 B. Ordinary Numbers_char数组求个数 递归初试题意:t组数据 输入一个数n 求1-n中 数字全一样的数的个数思想:求char 型数据的个数 求#include<iostream>using namespace std;char a[12];int n;int special(char* head,char* next){ if (*next == '\0')return *head - '0'; if (*head原创 2021-07-20 11:17:49 · 81 阅读 · 0 评论 -
cf_题解--A. Do Not Be Distracted! Jul/18/2021
cf_题解–A. Do Not Be Distracted! Jul/18/2021题意:输入一串字符 若不连续的字符 出现了第二次则输出NO 否则为YES思想:开一个bool数组记录此字符的出现与否 若遇到第二次 不连续的字符 判断是否出现过即可;#include<iostream>#include<string>#include<cstring>using namespace std;bool str[52];string s;void ju原创 2021-07-18 14:41:20 · 246 阅读 · 0 评论 -
###cf_题解A -- AquaMoon and Two Arrays Jul/11/2021
题意:输入t 组数据进行t次测试,每组数据有三行输入,第一行n表示输入的数组的个数,接下来两行分别是大小为n的两行数,只对第一行数进行操作看是否能变成第二行的数操作的方法是指出两个下标 i,j对索引为 i 的数进行 -1操作对索引为 j 的数进行+1操作若第一行数经操作后可以变为 第二行 则输出每次操作的索引 i 和 j若不能则输出 -1理解:因为同时进行-1 +1 的操作 最后得到的数 第一行 等于 第二行,则说明第一行数的和等于第二行的所有数的和。则输出 -1 的情况是和原创 2021-07-18 10:59:41 · 185 阅读 · 0 评论