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 · 230 阅读 · 0 评论 -
A. Dense Array ceil函数的应用
A. Dense Array 题解: 满足以下 公式:原创 2021-07-21 10:32:16 · 208 阅读 · 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 · 159 阅读 · 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 · 143 阅读 · 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 · 257 阅读 · 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 · 123 阅读 · 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 · 295 阅读 · 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 · 219 阅读 · 0 评论