思维
霾まる
不为牌子, 只为锻炼自己, 创造美好回忆不后悔!
展开
-
Educational Codeforces Round 152 (Rated for Div. 2) D题 1849D Array Painting
传送门 https://codeforces.com/contest/1849/problem/D。原创 2023-07-28 02:52:18 · 701 阅读 · 4 评论 -
五一欢乐赛!题解
有点一言难尽, 这次本来想的给大火减减压放了很多区域赛和省赛的签到题(还有一些是写过的题), 没想到打的并不是很理想, 还用了分数值想减少一些差距, 结果看起来好像让差距更大了, 尴尬。原创 2023-05-01 20:06:10 · 1039 阅读 · 2 评论 -
23.3.14打卡 2022年江西省大学生程序设计竞赛(正式赛)ABL
就写了签到, 其他题没写, 这场好像3题就银了纪念一下3.14原粥率日比赛链接:https://ac.nowcoder.com/acm/contest/43898。原创 2023-03-14 21:33:43 · 2145 阅读 · 2 评论 -
23.3.9打卡 AtCoder Beginner Contest 259
对于x特判一下就好。原创 2023-03-09 20:59:48 · 471 阅读 · 0 评论 -
23.3.2 Codeforces Round #834 (Div. 3) A~E
FG明天补给定 ttt 个字符串,请判定这些字符串是否分别是 YesYesYesYes…\texttt{YesYesYesYes\dots}YesYesYesYes… 的子串。是则输出 ,否则输出 ( 和 大小写不定)。Translated by @JYqwqThe first line of input data contains the singular $ t $ ( $ 1 \le t \le 1000 $ ) — the number of test cases in the test.Each原创 2023-03-02 20:30:31 · 605 阅读 · 0 评论 -
22.3.1 Educational Codeforces Round 144 (Rated for Div. 2) A~C
感觉就是阅读理解题, 3和5的公倍数出现有规律(嫌麻烦可以直接先算出1~1000的s)然后直接一个string的find函数就解决了, 注意一下find函数如果搜不到返回之是npos(-1)B题题目链接: https://codeforces.com/contest/1796/problem/BC题题目链接: https://codeforces.com/contest/1796/problem/C题解:首先按照贪心的思想, 2n2^{n}2n肯定是能最多的, 那么第一个答案就很好求出来了,原创 2023-03-01 22:44:37 · 563 阅读 · 0 评论 -
22.2.28打卡 Codeforces Round #851 (Div. 2) A~C
给你一个数列a1a2an. 数列中的每一个数的值要么是1要么是2找到一个最小的正整数k1≤k≤n−1a1⋅a2⋅⋅akak1⋅ak2⋅⋅an。原创 2023-02-28 20:37:58 · 532 阅读 · 0 评论 -
22.2.27打卡 Codeforces Round #852 (Div. 2) A~D
A共 ttt 组数据,每组数据中,你需要买 nnn 公斤苹果,第一天单价为 aaa ,但每买 mmm 公斤赠送一公斤;第二天单价为 bbb 。求最小花费。第一行一个正整数 ttt ,对于每组数据输入包含两行,第一行两个正整数 a,ba,ba,b ,第二行两个正整数 n,mn,mn,m 。对于每组数据,输出一行一个正整数,表示最少花费。1⩽t⩽104 , 1⩽a,b,n,m⩽1091 \leqslant t \leqslant 10^4 \ , \ 1 \leqslant a,b,n,m \leqslant原创 2023-02-27 21:26:40 · 394 阅读 · 0 评论 -
codeforces 1669F
但这种做法有个缺点, 因为前缀和对应相等的后缀和下标不一定是i与n-i的关系, 做起来还是需要用双指针, 那既然用了双指针, 而且前缀和 和 后缀和的访问次数只需要找到第一个(或者说, 最后一个)相等的就行。每当alice吃的糖果小于bob的糖果时alice多吃, 否则bob多吃。创建双指针l和r, 创建q和p分别储存alice和bob吃的糖果重量。要求alice和bob吃的糖果重量必须一样, 输出能吃几个糖果。alice和bob从数组两边的吃糖果, 数组的值就是糖果重量。模拟一个前缀和 和 后缀和。原创 2023-02-25 17:49:24 · 836 阅读 · 0 评论 -
atcoder abc218 B
输出 x+'a'-1。原创 2023-02-25 17:47:55 · 122 阅读 · 0 评论 -
22河北省赛 K
题意: 给你score和score modifier算出定数。实际上很简单, 就是算arcaea这游戏里多少分对应的定数。按照商标输出就好了, 注意类型转换。原创 2023-02-25 17:49:15 · 146 阅读 · 0 评论 -
22河北省赛 F
根据上文的模拟, 我们可以粗略得出一个结论: 当兔子和我们搜索的位置奇偶性相同时, 兔子一定会被逼到末端-1的位置被捉住, 而不同时, 兔子可以在末端的位置正好与我们错过(兔子这里考虑的是最坏情况), 但改变了奇偶性, 当我们回头再来的时候, 将被我们捉住。假设兔子在3位置, 我们先搜索了2, 兔子在3位置可以跑到我们搜过的2位置去, 就正好错过了, 此时继续向右搜索来到3位置, 兔子可以走到1位置或者3位置, 和我们的位置奇偶性相同了。交了之后就会发现wa在了一个神奇的样例: n=1和n=2。原创 2023-02-25 17:50:07 · 600 阅读 · 0 评论 -
Atcoder abc257 E
然后给你1~9每个经营额所需要的成本, 设总经营额为x, 当前使用的经营额为y, 则每一次使用经营额时都有x=10*x+y。我们先算出成本在1~9的经营额下最小的成本能使用的最多次数(也就是考虑多的位数)再选择5的经营额: 现在有x=9*10+5 此时n=2-2=0。算出次数之后考虑数字能否在保持位数最大的同时在高位数字贪心。问, 如何在使用不大于成本数量的金额下, 使得经营额最高。先选择9的经营额: 现在有x=0+9 此时n=5-3=2。次数=总成本/经营额下的最小成本。接下来为1~9的经营额。原创 2023-02-25 17:49:41 · 476 阅读 · 0 评论 -
23.2.23 22湖北省赛 B
注意, 样例中的2:6实质上约分后为1:3 , 需要对数据进行约分。混合之后再加入a水或者b水 比例变为3:5 或者7:1。再加入a水或者b水将容器填满 比例现在变为 3:1。倒出一半的混合物, 因为ab水互溶, 比例不变。所以可以找到固定规律, 通过手动模拟可以发现。以2的次幂为规律判断是否符合题目条件即可。先倒入a水 1:0 倒入b水 1:1。好久没打卡了, 随便找的个水题写。可以发现, 比值加起来是2的次幂。这样推下去我们可以发现一个规律。假设两种水叫做a水和b水。原创 2023-02-23 21:23:56 · 1004 阅读 · 0 评论 -
23.2.18打卡 Educational Codeforces Round 143 C题两种做法
在优先队列内存入ai+前缀和[i-1], 每次搜索时将队头+前缀和[i-1]即为当前ai的剩余量。因此对于每个a[i]应该在前缀和数组中搜索a[i]+前缀和[i-1]找到他在什么时候会被喝完。首先就行b的前缀和处理, 对于每一个a[i]二分搜索到i处时的剩余量。剩余量i=a[j]+b的前缀和[j-1]-b的前缀和[i-1]将其与b进行对比后(若剩余量原创 2023-02-18 23:03:31 · 127 阅读 · 0 评论 -
22.2.4+22.2.5打卡 Codeforces Round #849 (Div. 4)
换个角度来看这题, 假设这题如果一次转换一个, 那么显而易见将全部负数都转化为正数即可, 如果用上文的思路来看这题, 因为这题一次必须转换两个数字。双指针遍历一遍字符串, 当遇到0 0或者1 1(指头尾两个指针所指向的值)时就退出输出此时i+1的值。如果搜不到 或 搜到的比r还要大, 说明在l~r的这段范围已经无法通过1更新了, 直接break出去。首先我们要知道, 因为这题是无限制的翻转数字, 所以负数的位置是可以随时变换的。首先当一个数为个位数的时候, 他将无法通过1操作更新值。这题直接贪心是不行的。原创 2023-02-04 23:29:55 · 349 阅读 · 1 评论 -
23.2.2打卡 2023牛客寒假算法基础集训营5 ABCDHKL 最详细的一集
因为要使得字典序最小, 谁也不愿意多拿, 到自己拿的时候必须拿所以拿一个最小的1。当n=3时, 先手拿一个后手拿一个, 下一回合先手拿一个拿完了 ,此时后手胜利。这题因为排列是不确定的, 所以能够给我们判断的就是第一位数的数字是不是0。当n=2时, 先手拿一个后手拿一个结束了, 双方字典序一样平局。还有两个特判, 需要特判a和b是否相等, a和b的位数是否相等。当n为奇数时, 先手必输, 当n为偶数时, 只能必定平局。比较去掉前导0的位数, 再比较a和b有效位数中的最高位0。原创 2023-02-02 18:02:37 · 222 阅读 · 0 评论 -
22.1.23打卡 Codeforces Round #845 (Div. 2) and ByteRace 2023 A~B
只要看上一个是否和当前的数组元素奇偶性是否相同, 不相同就ans++自己手动计算一下逆序数就好了。原创 2023-01-23 17:04:22 · 263 阅读 · 0 评论 -
22.1.11打卡 Codeforces Round #843 (Div. 2) ABCE
找到了数字A, 我们就可以构造b=c-A, 因为执行的是按位或运算, 这个数字去掉了也不会影响按位或的运算, 此时即可达成f(a)=f(b)因为当某个二进制数位上的数字只出现过一次时, ab数组都必须包含他(或都不包含, 此时我们已经将a=c, 故这种情况不考虑)当头为'a', 尾为'b'时, c的名字为s[n-1], b的名字为s[n-2], 剩下的都是a的, 此时保证了一定有解。设n为字符串长度, 从1到n-1中找到第一个'a', 这个'a'两边就代表了a和c的名字, b的名字就是'a'原创 2023-01-11 18:03:55 · 473 阅读 · 0 评论 -
22.1.7打卡 abc284 A~E
D题就一脑筋急转弯...耗费太多时间了最后E还有15分钟直接开摆了, 赛后一看woc一个裸的dfs。赛中写的非常屎, 可以去看看官方题解。完完全全一个裸的dfs搜无向图。思考一下如何因式分解。原创 2023-01-07 22:35:33 · 213 阅读 · 0 评论 -
22.12.18补卡 Polynomial Round 2022 (Div. 1 + Div. 2, Rated, Prizes!) A~D
这题是真的吓人, 好多人被hack了, 比赛结束的时候出C的比出B的多就离谱, 我当时一直在死磕D没什么想法去hack, 这场我要是去hack别人的话我估计就蓝名了罢(叹气。然后考虑k个连续的格子不可以连续, 首先想到的就是当出现一个元素的数量>n/k+1时, 不可能再涂完了, 因为这个颜色已经把能涂的位子涂完了。但我模拟写的实在是太烂了, t了两发, 从头到尾就没考虑从列来考虑...一直在暴力行搜半天, 暴力还写了半天, 交上去结果t2, 崩溃。找规律, 和这题非常相似, 这场我也写了题解。原创 2022-12-19 23:40:30 · 453 阅读 · 0 评论 -
22.12.19打卡 Codeforces Round #839 (Div. 3) A~E
当arr[i]大于k的时候, 此时不能再使数组a的元素种类变多, 还要考虑到arr[n]也要小于k且arr中的元素不能重复, 所以加一个判断n-i+arr[i]>k。可以手动模拟一下, 当arr[i]>arr[i-1]时, 答案的上下限如何改变, arr[i]原创 2022-12-19 16:57:56 · 581 阅读 · 0 评论 -
22.11.28打卡 Codeforces Round #836 (Div. 2) A~D
这题我一开始的思路是贪心, 但这题不能用贪心写, 局部最优并不代表全局最优, 有时局部字典序最优了, 导致后面的数位没有数对应的问题。直接一个全排列, 然后暴力搜这个数位的数是否符合条件(为保证字典序最小, 从m+1开始搜, 因为m+1前已经为最优解)考虑到等式左边的异或, 我们用n-2个相同的a(必须为偶数)互相异或得到0, 然后构造两个加起来为2a的数就可以了。易得规律为 最小值逐渐递增循环n/2次 + 最大值逐渐递减n/2次。最小值ceil(n/2) 最大值为ceil(n/2)*2+n/2。原创 2022-11-28 11:16:56 · 324 阅读 · 0 评论 -
22.11.25打卡 2022河南萌新联赛第(二)场:河南理工大学 AFJL
想了好一会都没什么思路, 主要是这个1e114514有点迷惑性, 完全可以当做一个10x10的棋盘来类比, 因为只能斜着走, 当n和m成倍数的时候, 那么n%m的格子就永远都走不上去, 所以当且仅当n和m互质的时候才能走完全部路。针对这一句话进行思考, x的三次根为有理数的前提, 令x=i*i*i, 这样有理数的前提就永远成立, 之后枚举x%n==0即可, 至于x的平方, 在前提已经满足有理数的情况下这个条件完全没有用, 且具有巨大的欺骗性。这题就非常的签到了, 注意一下数组越界问题就好了。原创 2022-11-25 21:15:06 · 923 阅读 · 0 评论 -
22.11.21补卡 Codeforces Round #835 (Div. 4) A~F
这应该是个原题吧, 我总感觉我做过, 找到最大值和其余全部值比较, 最大值和第二大值比较。二分答案, 赛中太晚了迷迷糊糊的, 没想到r可能会大于d没注意到这个条件wa掉了。不能出现极大值, 极大值即"山谷", 用一个变量记录一下上升的状态就行了。比较不更改的逆序数, 修改第一个0的逆序数, 修改最后一个1的逆序数。寻找中位数, 直接一个sort搞定。找到最大的字母输出他的序号。G题懒得写, 就这样吧。原创 2022-11-22 15:22:12 · 365 阅读 · 0 评论 -
22.11.19打卡 CF1278B
让我们回归题目, 重新考虑加在a上的值(假设a比b大), 如果我们将一个值x不加在a上, 而是加在b上, 对于ant来说, 是不是就相当于ant-=x*2。首先预处理从1到1e9的数之和, 存储在arr数组中//cnt为arr数组的长度。如果为奇数: 由奇+奇=偶, 所以只要再多一次操作将奇数转化为偶数即可。ant为奇数, 当ant为奇数的时候, 我们就不能像情况1那样操作了。如果为偶数: 因为奇+偶=奇, 需要再多两次操作才能将奇数转化为偶数。所以对于ant来说, 只要为偶数就能消除为0。原创 2022-11-19 21:37:18 · 490 阅读 · 0 评论 -
22.11.18打卡 [传智杯 #3 初赛] 部分题
感觉是最有难度的一题了, 一开始还想着暴力怎么优化, 直接暴力肯定要不少时间, 索性dfs了, 至少不会做太多无效运算, 具体实现就是dfs爆搜每个数位的数字, 说到数位, 这题数位dp估计也能写。模拟, 用STL写的话挺轻松的, 就是要注意题面, 没咋看题面想当然写了, wa了几发, 还是有一点点细节在的。森林图论懒得写, 等搞完dp之后再来复习图论, 还有一题数据有问题没写。哇真的签到, 第一眼还想着推公式呢, 看这数据范围直接暴力了。没什么好说的吧, 考点就是编写cmp函数, 对结构体进行排序。原创 2022-11-18 20:27:10 · 1175 阅读 · 0 评论 -
22.11.13打卡 1406B - Maximum Product
分为六种情况, 分别为选0, 1, 2, 3, 4, 5个负数, 为了让数组最大, 我们不能选奇数次数的负数, 那么就只剩下选0, 2, 4个奇数了, 分别取max就好了(记得排序)...别被思维绕进去了...这题很简单。原创 2022-11-13 18:43:06 · 404 阅读 · 0 评论 -
22.11.11打卡 牛客小白月赛60(A~C)
每一步都有两种选择, 不拿这个物品的话则继承上一个物品的长度;拿这个的话接下来k步都不能走。状态转移方程f[i]=max( f[i+1] , f[i+k+1]+a[i] )先算出每个房间有多少个出口的总和, 然后减去有敌人的那个出口的个数就行了。参考数塔类型dp, 这里倒着dp, 从第n个开始选。记得把算总和放在循环外面...这给我t掉了人麻了。没算复杂度的惨案...原创 2022-11-11 20:37:38 · 389 阅读 · 0 评论 -
22.11.10补卡 2022牛客寒假算法基础集训营4C
出现的地方+1, 结束的地方-1, 算出前缀和就相当于时间轴了, 每i秒出现的彗星有sum[i]个。原创 2022-11-11 14:43:35 · 555 阅读 · 0 评论 -
22.10.31补卡 22CCPC桂林C题
我的思路是这样的, 分别记录操作1和操作2的 前缀和 和 前缀和之和 直接取最大值然后套公式输出, 错误代码示范。实在做的难受, 跑去问了学长, 学长好心写了篇题解, 一瞬间疑云消散...明白了做法1和做法2的真正意义...跑去问队友lk, 他说把前面取模去掉了变成wa4, 很神奇, 然后我就疯狂的试取模, 发现了这一句。途中还了解了个费马小定理(还不能说会), 2的n次幂*ksm(2,mod-2)相当于2的n-1次幂。写了一天半...感觉自己是不太适合写区域赛的题了, 还是多学学算法和数论好了。原创 2022-11-01 21:16:23 · 368 阅读 · 0 评论 -
22.10.30补卡 22CCPC桂林站M题
我们可以观察到, 当队头出队再进入队尾的过程中ans的变化: 数组中大于队头的元素逆序数++(ans+=n-队头的值+1 ps:这个+1是因为不包括队头自己本身 ), 而因为队头出队再进入队尾, 队头的逆序数(即小于队头的元素)归零了(ans-=队头的值)题意是给一个n长度的数组a, 和m长度的字符串str, 先输出a的逆序数, 然后根据str的操作每次更新a的所有逆序数, str[i]为S时a数组左移一位, str[i]为R时, a数组变为当前a数组的倒序。搞明白之后这题就能ac啦!原创 2022-10-31 19:44:54 · 389 阅读 · 1 评论 -
22.10.29 CF-1294C
先搜a, 因为a*b*c=n, 所以a一定是n的因子, 直接搜最小的因子, 然后排除掉a, 找b*c=n/a。原创 2022-10-29 19:00:47 · 176 阅读 · 0 评论 -
22.10.28补卡 牛客小白月赛59ABCF
也就是说, 不会输出[l,r]以外的数字, 我们只需要在循环判断一下 ai+1 (k的i+1次方)是否大于r即可, 由于ai+1可能爆longlong, 采用r/k原创 2022-10-29 16:17:29 · 439 阅读 · 0 评论 -
22.10.25补卡 一堆cf水题
意思就是把BG字符串换成GB循环t次, 看别人代码, 学了个regex的库, 先标记感觉以后会有用。按照题意模拟一边, 找最大值就好了, 注意车上乘客先下车然后再有乘客上车。贪心, 排一下序, 每次选最大的, 选的同时记录一下已经拿了多少个硬币。哦还有这种签到题的, 辣真的牛枇。被骂了, 写点水题泄泄愤。原创 2022-10-26 21:00:00 · 441 阅读 · 1 评论 -
22.10.24补卡 CF-1732 A~B
判断一下第一位数, 找一下相邻不用有多少个, 最后判断下第一位数。相邻的自然数互质, 用一个cnt存最大公约数, 最后判断下就好了。原创 2022-10-25 20:00:55 · 302 阅读 · 0 评论 -
22.10.23补卡 CF-1754A
题意: 给你一个字符串中只含有Q和A, Q表示问题, A表示回答, 一个问题可以有多个回答, 但每个问题都必须要有回答, 不然输出no。很简单, 遍历的同时统计q和a的个数, 每当a>=q时, 清空a和q的个数就好了。原创 2022-10-23 19:41:33 · 385 阅读 · 0 评论 -
22.10.21 牛客练习赛104 A~B
真唬人, 骗我写了个快速幂, 输入什么输出什么就好了, 仔细观察式子可以发现这两式子是一样的。直接找四角的坐标减一下完事。原创 2022-10-21 21:16:49 · 383 阅读 · 0 评论 -
22.10.17 CF-1744D Divisibility by 2^n
题意, 给定一个数n和一个数组a, 定义一个操作, 让ai=ai*i, 对于同一个ai只能操作一次, 求数组内所有数相乘(a1*a2....*an)%然后就是教科书式的贪心操作, 先对arr数组(i的因子数组)排序, 然后每次选最大的因子操作, 直到2的因子>=n。首先求数组a有多少个2的因子构成, 剩下的不要, 当2的因子>=n(相当于2的因子次幂>===0需要操作几次, 同理求出i有多少个因子, 存储在数组arr中。原创 2022-10-17 21:02:20 · 696 阅读 · 0 评论 -
10.11 478B - Random Teams
通过观察这个公式可以很容易画出他的图像, 就是我们高中学过的一元二次函数, 函数值的增长速度会随着x的增长而加速, 得出结论: 好朋友对的数量会随着人数加速增长。题意: n个人分m组, 组内的人每两个人会成为好朋友对, 问你最少好朋友对和最多好朋友对为多少。从这个结论我们可以得知: 好朋友对最多的数量的情况是其他组一个人, 其他全部人在第一个组内。由题意得获取一组好朋友对的公式为(假设一组x人): x*(x-1)/2。好朋友对最小的数量的情况是对每个组平均分人数。原创 2022-10-11 17:04:17 · 962 阅读 · 0 评论