![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
思维
Kanna_STELLA的垃圾站
柚子厨就是たまで世界主宰。这里是Kanna_STELLA的垃圾站
展开
-
(博弈)(思维)(试除法判断质数)B - 是我仅会的GCD还是素数筛呢? G. Goodbye
枚举可能的因数,判断是否能整除,不能整除的话结果就是0,能整除的话再判断因子对应结果是否是-1(即两个质数的乘积)如果是的话就取自身结果和这个因子的最大值作为最大的质因数乘积。最大质因数和质数的获取比较简单,所以只要用一个数组储存数字对应的结果,初始化为-1,然后判断是否符合2和3的情况,符合的话就做处理。1.由两个质数相乘得到的数的结果是-1,3.其他情况结果是最大的两个质因数乘积。博弈题,通过列举样例来寻找规律。通过列举样例可知有三种情况。通过试除法来实现上面的流程。原创 2023-03-05 23:34:52 · 107 阅读 · 0 评论 -
(思维)(必要做题步骤)(皮卡丘与 Codeforces )D - 先来签个到
题目要账号中的最大分数账号的分数最大,所以理所当然会想到能加分的比赛就用它来打,不能加分的比赛就用别的号。至于最关键的1wa,是由于没有注意题目的边界数据引发的特殊情况,因为太久没遇到此类边界特殊情况的题,所以一直忽略了这个步骤,经过这次罚时应该得到教训,不要因为贪快而忽略解题步骤。通过观察题目给的账号数目的数据范围可以发现,账号数是可以为1的,此时无论比赛加分还是扣分,你都只能拿同一个账号来打,所以流程就变为将读到的值加入账号分值中最后再输出。1.是比赛时在纠结分数小于0的能不能参加比赛,原创 2023-03-05 03:43:07 · 284 阅读 · 0 评论 -
(dfs)A -暴力模个拟(我是第一吗?我好像是第一个捏~)(原题目为Serval 的元素周期表)
很像,都是问元素是否能组成字符串,所以我只能往双指针的方向想了,但是对于“CAL“这类的字符串,先”C“ 后 ”AL“ 还是 先 ”CA“得到的结果是完全不同的,用双指针的话很难写,所以平时多积累些套路才行。题目给了20个元素,问是否能组成输入的字符串,因为这些元素长短不一,且先后的顺序会对结果造成影响,所以直接把所有可能走一遍,对应的算法是dp和dfs,dp适合用于求最优解,此题没有最优解,所以用dfs。dfs积累的东西太少了,这种题特征很明显的,有积累的话纯粹是签到。用dfs(树状回溯)原创 2023-03-05 02:51:24 · 68 阅读 · 2 评论 -
C. Registration system
hash更习惯用数组模拟,所以下意识用了string数组,最终以失败告终。统计字符串数量,用到字符串的hash。字符串的hash用map模拟即可。原创 2023-03-04 00:05:35 · 70 阅读 · 0 评论 -
B. T-primes
看范围样例数量很多并且数字都很大,于是就对数字先进行预处理,把非素数给标记,然后对于每一次的输入用O(1)的时间来查询是否为素数。读题,三个因数的数除了1和本身就只剩一个因数,此时这个因数一定是这个数的开方,因为这样才能保证是除了1和本身之外只有一个因数。别用题解代码里的输入输出,这种数据范围大的可能超时的题目直接用scanf,print,这两个是最快的。求一个数字的因数个数,判断是否为质数且样例数量多,数字范围大,预处理:将范围内所有数据加工出来。找了个垃圾题解导致t了好久。原创 2023-03-03 23:52:39 · 76 阅读 · 0 评论 -
Networking(prim)
输出结果全为0,检查了数据正常读入后,发现初始化数组把st写成了dist,导致全变0。读题找n,m和边,再套模板。原创 2023-03-01 22:30:20 · 46 阅读 · 0 评论 -
Constructing Roads(kruskal)
找到最小生成树的n(点数)m(边数)和边的数据(a,b,w)再套模板即可。绝大多数的最小生成树题目都是因为没有好好看题导致卡题。想用结构体写并查集,发现不会,去查了下。原创 2023-03-01 22:24:45 · 47 阅读 · 0 评论 -
A. Hit the Lottery(贪心)
没认真读题,自以为是的认为钞票面额中有50的。从大到小处理,让单据尽可能少。题目还是要一字一句看一遍。原创 2023-03-01 22:16:07 · 68 阅读 · 0 评论 -
F. Eating Candies(双指针)
读题一遍,只此题同时访问数组里的两个元素,为双指针题目,指针可以同时动,可以分别动,根据其来写指针移动语句。for循环括号内不写指针移动,指针移动和判断语句在循环体内写。原创 2023-03-01 22:05:41 · 78 阅读 · 0 评论 -
AtCoderABC257E - Addition and Multiplication
发现0x四个3f才是1e9,一个3f只有63,之前归纳的有问题。用0x3f初始化minn,结果wa了。贪心题,先保证位数,再从大到小贪。原创 2023-02-26 01:10:34 · 65 阅读 · 0 评论 -
A. I Wanna Be the Guy
用一个数组储存关卡状态,然后遍历1-n数组,flag记录其中是否有不能通过的关卡,注意某些编译器不会自动初始化变量,一定要自己初始化一遍。同一个地方跌倒两次。原创 2023-02-18 22:43:09 · 74 阅读 · 0 评论 -
A. Chat room(双指针)
打表一个字符串,用一个指针指向它的开头,另一个指针指向输入字符串的开头,每轮循环移动,两个指针指向的元素作比较,相同则第一个指针后移,最后if判断第一个指针位置是否为5。同时访问两个元素(不同字符串或同一字符串)原创 2023-02-14 08:45:52 · 66 阅读 · 0 评论 -
A. Calculating Function
从1开始每两个数的和为1,算出n中有多少个2,偶数直接输出,奇数再减去n。又忘记看数据范围,导致tle一发,一定要注意数据范围。原创 2023-02-14 08:36:49 · 44 阅读 · 0 评论 -
A. Nearly Lucky Number
因为数字范围最大到18位,所以4和7数量最多是18,判断是否幸运的条件直接枚举小于等于18的幸运数字,即4和7。一开始n的类型写成了long long,被题目的提示迷惑了。遍历字符串,记录4和7的数量,然后判断其是否幸运。因为要遍历每一位数字,所以应该用string。原创 2023-02-12 23:23:17 · 56 阅读 · 0 评论 -
A. Football
注意: //这样算的连续重复数量不包括开头的本身,即连续重复数量减一,判断时条件也要做修改。遍历字符串,记录连续重复字符的数量,根据其是否大于等于7来输出答案。原创 2023-02-12 23:18:05 · 53 阅读 · 0 评论 -
A. Boy or Girl
先遍历字符串,字符计数,如果这种字符出现次数为1,即第一次出现的话就计数。通过note知道此题是求字符种类数量然后根据这个来输出结果。原创 2023-02-12 22:50:25 · 55 阅读 · 0 评论 -
A. Petya and Strings
题目说字符串长度相同,大小写无差别,要比字典序。因为直接比较的话大小写是会产生差别的,所以先要遍历字符串统一大小写,然后再比较即可。直接使用大于小于号判断。字符串字典序大小比较。原创 2023-02-11 04:06:56 · 62 阅读 · 0 评论 -
A. Beautiful Matrix(坐标)
因为相邻行列可以交换,且除了一个1,其他数都是0,所以等价于是求1到(3,3)的距离。读入时记录1的坐标,再做差算距离即可。用abs(x1-x2)原创 2023-02-11 04:03:11 · 54 阅读 · 0 评论 -
A. Theatre Square(数学思维)
题目求矩形区域完全被正方形覆盖的最小正方形数量,只需要求出矩形的每一边要放多少个正方形,然后相乘即可,数据范围去到1e9,运算要开long long。如果b不能整除a,n = a / b +1;如果b能整除a,n = a / b。1、求一个数a内最多有多少个数b。2、至少要多少个b才能大于等于a。原创 2023-02-11 03:54:53 · 89 阅读 · 0 评论 -
A. Watermelon(思维)
而其他偶数显然可以分成两个偶数,推出的条件再加上一个2的特判就等价于题目条件。所以之要n%2 == 0 && n!则可推出这个数是偶数,然后验证两个条件是否等价,通过举例发现,2虽然是偶数,但只能分成两个1,通过推论改变判断条件,使其易于用代码表示。给数字,判断是否符合条件的纯思维题,条件是可以分成两个偶数,两个偶数相加得偶数,显然不符合题目条件,原创 2023-02-09 21:58:02 · 69 阅读 · 0 评论 -
B. Following Directions(模拟::坐标)
1.此题与坐标相关,用两个变量x,y表示当前坐标,遍历字符串字符并根据字符来对x,y进行加减操作。2.结果判断,每次操作后判断xy是否同时等于1,用flag储存结果。思考如何用代码表示过程,如何用if来判断结果。3.根据flag输出结果。原创 2023-02-09 20:55:37 · 93 阅读 · 0 评论 -
A. Codeforces Checking(打表枚举)
处理方法是用string或char数组直接储存题目给的量,然后循环枚举其中的元素。用string储存codeforces,遍历其元素与读入的字符比较。类似,都是给出若干常量,用其对输入的量进行处理。用string来读入字符,免去%c的特殊处理。原创 2023-02-09 20:42:40 · 156 阅读 · 0 评论 -
现在是,学术时间 (I)
题干讲什么分配论文,要输出所有教授h指数(最大论文点数,下文简称点数),一名教授h篇论文的引用量>=h时获得点数,因为一名教授只有一篇论文,所以直接让教授发表自己的论文,引用量不为0的计入点数就好了。原创 2023-01-22 15:41:55 · 95 阅读 · 0 评论 -
World Final? World Cup (I)(模拟)
比赛写的时候我是直接上手写了,wa后再枚举情况,结果不知道是不是枚举漏了。1.字符串改下标读入(1-n) 一个题解里用到的套路,可以减少大脑工作量。目前猜测模拟题一个重要的点是拆解题目,列出要点,再开始写代码;即得分与剩余点球次数,根据这个就可以判断胜负情况,用变量记录下每个点球后两队的情况就好了。平时写的少了,简单模拟都没写出来。再有一个bool记录下是否打平。反正模拟题别枚举,容易漏。原创 2023-01-22 15:26:57 · 113 阅读 · 0 评论 -
Educational Codeforces Round 113 (Rated for Div. 2)A. Balanced Substring
开始刷cf思维题,第一道题就被狠狠薄纱了,看到题目以为是双指针,后来发现比较类似于零一串问题,顺着01串思路没写出来,看题解发现题目只要随意输出一段ab相等的子序列就行了。前提条件 :题目数据50 1000,多组输入内双循环的时间是2.5e5,优先考虑暴力。注意:因为题目下标1-n,而cin读入的s下标是0-(n-1),所以输出还要再+1。= s[i+1],输出i+1,i+2。状态记录flag,用于记录平衡子段的存在状态。根据flag来决定是否输出-1 -1。读一个t,开始多组输入,原创 2023-01-12 22:27:25 · 58 阅读 · 0 评论 -
字符串a和他许久未见面的同父异母的b(模拟)(思维)
正当朱学姐摸不着头脑时,小卷毛已经直接弹射起步得飞向工作室,然后董学姐从后面追过来,看到了朱学姐手中的两个字符串,她十分的惊讶,说:这是上古时代遗留下来的字符串,如果在规定时间内成功的将a转化为b,那么你将获得一枚通向新大陆的通行证。我来的匆忙,只能先用我仅剩的法力值帮你让a的前缀消失,或者我也可以不操作“,然后董学姐走了之后,朱学姐发现他可以用当前法力值让处理后的字符串去掉任意数量的两个相邻的字符,并且这些操作是同时进行的。对于第4组数据,我们可以删除下标为1前缀,剩余的就是第二个字符串。原创 2022-11-22 17:01:04 · 109 阅读 · 0 评论