- 博客(16)
- 收藏
- 关注
原创 CF2061C Kevin and Puzzle 题解
从第一个位置入手,可以发现第一个位置不管是什么数字一定存在可以说谎的方案,且不一定存在说真话的方案:若第一个位置的数字不为。个人说真话,那么他的前面的人说的可能是真话也可能是谎话,我们需要分类讨论。首先我们根据测试样例,可以发现判别一个人是否说谎的方法。个人说谎,那么说明他的前面的人和后面的人说的都是真话,个人说的都是真话,那么他们位置上的数字相等。的位置上的数相等,若满足条件加上。个人说的是真话/谎话的方案数。2.找到数组元素之间的关系式。若前面的人说的是谎话,需要满足。若前面的人说的是谎话,需要满足。
2025-02-16 21:03:04
808
原创 P1541 [NOIP2010 提高组] 乌龟棋 题解
我们可以发现,dp[i]可以由dp[i-1]+a[i],dp[i-2]+a[i],dp[i-3]+a[i],dp[i-4]+a[i],也就是这四种卡牌移动的距离转移过来。不过经过刚才设置的新数组,可以发现,i与d1,d2,d3,d4存在关系,可以由d1,d2,d3,d4计算出来当前到了第几格。我们可以将卡牌使用的数量设为状态,我们可以得到dp[i][d1][d2][d3][d4]。因此初始值就是dp[0][0][0][0]=a[1]。答案存放在dp[d1][d2][d3][d4]中。然后列出状态转移方程。
2024-12-12 19:17:56
373
原创 大师题解 动态规划
以 i 结尾且上一个数是 j 的公差为 k 的等差数列数量是以 j 结尾公差为 k 的等差数列数加一。不必枚举出所有的公差,更新的是该数与前面的所有数的公差方案数+1。用f[i][j]表示以 i 结尾公差为 j 的等差数列个数。转移的过程中直接计数,顺便把数字数为一的区间加上。这道题利用一种类似离散化的思想。这样只需要n方的转移就可以了。
2024-12-03 12:35:41
321
原创 P3709 大爷的字符串题题解 莫队
(2)rp-- S:[2,3] 剩:3。(1)S:[1,2,3] 剩:2 3 3。(1)S:[1,2,3] 剩:2 2 3。假如要查询的区间中的数字为 1 2 2 3 3 3 或者 1 2 2 2 3 3。完成上述操作之后,一定不能再加入数字了,因此清空S,rp--,把新的x加入S。,也就是减的尽可能少,因此这一操作是重点要维护的。
2024-11-27 19:33:24
1230
原创 P2709 小B的询问题解 莫队
x的出现次数 * x的出现次数 - (x的出现次数 -1)*(x的出现次数 -1)(x的出现次数+1)*(x的出现次数+1)- x的出现次数 * x的出现次数。当c[i]=0的时候我们无需进行累加操作。,该莫队中的L和R移动的时候,分两种情况。只有查询操作,每次查询一个区间。
2024-11-26 21:35:05
628
原创 DQUERY - D-query题解 + P3901 数列找不同题解 莫队
题意大致是这样的:给定一段数列。Q次询问,每次询问一个区间内套用莫队模板,但是要维护的now值有所不同。我们要维护的是这段区间内有多少不同的数字。显然,我们可以判断这个是否在这段区间内只出现了1次。具体来说:如果只出现了1次,就可以使now+1。如果是删除操作,那么在先判断这个数字出现了几次。如果只出现了1次,说明删除后区间中将不存在该数字,使now-1。AC代码。
2024-11-20 19:58:39
441
原创 P1494 [国家集训队] 小 Z 的袜子题解 莫队
显然,分子也很好求,即为每种同色袜子的排列数。分母是固定的,即这段区间的排列数 (r-l+1)*(r-l)假如我们现在add操作扫描到了a[x],我们只需使。因此我们只需要使用莫队维护分子即可,怎么维护呢?只有查询操作,我们可以采用莫队进行。delete同理,只需减掉就行了。给出一段数列,数列中的每一个数。选出两只同色袜子的概率。,要求输出在所有方案中。注意,题目要求A/B为。代表一只袜子的颜色。
2024-11-20 19:57:09
740
原创 P1725 琪露诺题解 单调队列维护dp + Can you answer these queries III题解 线段树
本题有明显的阶段和状态,可以用线性dp来做。设 f[i] 为: 到达位置 i 时最大的价值和 , 则状态转移方程如下 :但是本题的N≤2e5,因此不能直接暴力枚举f[j],由于发现L和R是固定的,i-R和i-L即为一个固定的范围,因此考虑使用单调队列维护这个范围中的最后再从左往右扫描一遍寻找最大的f[i]即可。我使用的是,如果你不会的单调队列的话,建议先查阅相应文章。总之单调队列就是说这个队列中的数要么从小到大排列,要么从大到小排列。而我们在此处使用的是的单调队列。
2024-11-19 21:37:14
538
原创 P1801 黑匣子题解 对顶堆
然后别忘了查询完后将小根堆的堆顶存入大根堆,然后再弹出。(因为查询后i+1,第i大的就变为小根堆中第二小的数),其中i初始为1,每次查找后使i+1。
2024-11-18 21:13:55
335
原创 P11279 「GFOI Round 2」Abstract String Basic + P11280 「GFOI Round 2」Jom & Terry
核桃编程洛谷月赛,div2前两题题解。
2024-11-18 16:45:26
548
原创 P1714 切蛋糕题解
而当这一区间和最大,显然要求he[x](并且这个字段长度没有超过m)是最小的。考虑首先预处理出了这个数列的前缀和he,方便寻找某一区间的和。,用一个变量maxn记录出最大的he[i]-he[x]即可。由于数列中可能会有负数,所以说不一定长度越大越好。,于是可以考虑使用滑动窗口来维护这个he[x]。即he[i]-he[x],i-x+1
2024-11-17 21:48:55
491
原创 今晚竞赛学习小结
好好好,之前AC的点给我TLE了。我知道是我的代码逻辑有点小问题,但是我现在实在懒得找了,于是尝试微调卡过去(最起码今天洛谷要交一道题吧?但是T2洛谷这个hack也太毒瘤了吧,这次轮到ZZSZOI上的数据水了......差分约束T1洛谷以前做过,直接交上去发现被hack了。ZZSZOI一遍过,洛谷五颜六色的(RE,TLE,WA,AC)。开始敲T2,蓝题比较震惊,但是发现偏模板,边看博客边敲。今天主要学习的是差分约束,顺便复习了一下之前的基环树。内心有点小崩,不过也没啥,反正不是比赛()
2024-11-05 21:20:36
238
5
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人