构造
文章平均质量分 73
霾まる
不为牌子, 只为锻炼自己, 创造美好回忆不后悔!
展开
-
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.10补卡 Codeforces Round 857 (Div. 2) A~D
题外话:又到了一年两度的玩gbf时间了。原创 2023-03-12 15:34:21 · 210 阅读 · 0 评论 -
23.3.3打卡 Codeforces Round #855 (Div. 3) A~E
这场字符串真多啊原创 2023-03-03 15:51:32 · 554 阅读 · 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 评论 -
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 评论 -
22.1.28打卡 Codeforces Round #847 (Div. 3) A~E
这题其实也是一样的, 但当arr[i]和arr[i-1]存的元素不一样时, 不成立了上文说的贪心, 因为不连续了, 按照题意应当直接加上arr[i]从列的角度来看, 除了原排列的最后两个元素, 每当出现了n-1个此元素时, 这一列就是此元素的位置。最后一列出现之前从未出现过的元素一定在最后一列的位置, 再将剩余的那个元素放在n-1位就好了。不能出现连续的1, 所以1后的第一个0构造为11, 其他的0都构造为00。首先我们知道a^b=(a+b)/2, 将其变形为2*a^b=a+b。原创 2023-01-28 17:53:27 · 301 阅读 · 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 评论 -
23.1.4打卡 Hello 2023 A~C D题嗷嗷待补
当k>m时同理, 按照同样的方法推得到 SUM(m+1,i) >= 0。最后用优先队列 从m到2 从m+1到n依次贪心一边即可。因为k>1 所以所有的SUM(i+1,m)原创 2023-01-04 16:00:32 · 569 阅读 · 1 评论 -
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 评论