摘要: 题目 题外话 首先这道题目,我并不会写,我是看题解的,这道题目给我的感觉是一道模板,并没有很新颖的点,就是这个排序的操作是此题的核心.(我笔记本键盘找不到句号,姑且用这个‘.’吧). 题目思路 这道题目为什么要排序呢?这是一个所有题解都在讨论的问题 我给出我的见解,红色的字是"权" 还有这题目并不是 阅读全文
posted @ 2025-04-16 20:31 LteShuai 阅读(19) 评论(0) 推荐(0)
摘要: 题目 做题思路 一开始 我想到了数图中的分叉,因为每次缩点,,题外话这里让我想起了缩 点用tarjan不过这没什么用,都只能走树杈的一边,另一边只能等下一次了 ,于是我开始想是不是跟树杈数有关,结果发现可能是吧 ,比如说上图树杈是2-9-1,6-7-8和最大的4-11-2,刚好3个,然后思维就错 了 阅读全文
posted @ 2025-04-16 20:30 LteShuai 阅读(7) 评论(0) 推荐(0)
摘要: 题目 这题需要交代的细节都在这里写了,由于字多我怕审核改很多次,就直接写在云剪了。 题意 给一个长度为 \(n\) 的序列,每次都要选出一个当前字符串中字典序最大的子序列以供你下一步操作,然后把这个子序列最尾部的那个字母移动到这个子序列的头部,这是一次操作,问你最少操作次数是多少? 题目思路 首先需 阅读全文
posted @ 2025-04-16 20:30 LteShuai 阅读(12) 评论(0) 推荐(0)
摘要: 题目 首先明白&,<<,>>这几个符号, 先讲下& 比如 a=5,0101,b=3,0011 &下 就得到了0001,即1,在二进制数中,按位与运算是指对两个二进制数的对 应位执行与操作。只有两个对应位都为1时,结果位才为1,否则为0。 再是>>符号,比如x=16,10000,x>>2,右移两位,成 阅读全文
posted @ 2025-04-16 20:29 LteShuai 阅读(16) 评论(0) 推荐(0)
摘要: 题目 做题思路 我一开始错误的使用了结构体存某一天三个活动,导致做起来很麻烦,后面分开了三个数组,但是我从开始就没想到其实只要枚举9次,最多这种情况,所以用什么存都没问题,做题还是不会动脑子,没有想到最差情况,至于从大到小排序这肯定知道的。太笨了,可能跟昨天太困了有关,昨天做这道题太困了思路乱了吧。 阅读全文
posted @ 2025-04-16 20:29 LteShuai 阅读(5) 评论(0) 推荐(0)
摘要: 题目 题目思路 这道题需要证明,因为数据大了,就不能正常搜索解决问题了,然后这里也不是简单的贪心,我一开始就是贪心做,导致出错, 证明: x u y v first circumstance:x-1-(v-1)=x-v second circumstance:u-1-(y-1)=u-y 假设我们给了 阅读全文
posted @ 2025-04-16 20:28 LteShuai 阅读(17) 评论(0) 推荐(0)
摘要: 题目 所需知识 \(裴蜀定理\)::若a,b是整数,且gcd(a,b)=d,那么对于任意的整数x,y,ax+by都一定是d的倍数,特别地,一定存在整数x,y,使ax+by=d成立。 它的一个重要推论是:a,b互质的充分必要条件是存在整数x,y使ax+by=1. 也就是说 如果p是质数,则他们的最大公 阅读全文
posted @ 2025-04-16 20:27 LteShuai 阅读(24) 评论(0) 推荐(0)
摘要: 题目 这道题打暴力会超时 #include<iostream> #include<algorithm> using namespace std; int sum; void solve() { int n; int f=0; int st=1; cin>>n; sum=0; sum=__gcd(st 阅读全文
posted @ 2025-04-16 20:26 LteShuai 阅读(13) 评论(0) 推荐(0)
摘要: 题目 不会写 前言 这道题 题目就需要好好读几遍,要明白 v数组中的每一个值都是小于n的 然后就是v的大小是k,并且k<=1e5, 其次就是d很大,题目给的是压缩循环数组,所以在遍历 的过程中想到要用%k去解决这个问题 然后这道题目 我个人认为蛮难的,我是真的写不来。哎,一看到这种玩意就头疼。不过c 阅读全文
posted @ 2025-04-16 20:26 LteShuai 阅读(12) 评论(0) 推荐(0)
摘要: 题目 题目思路 我以为总长度不变的情况下 怎么换都没关系,所以只需要让Cmax...Cmin*每个区间短-长即可,事实上不行, 虽然[2,5]与[3,8] 100 1与[2,8],[3,5] 100 1 就不一样,所得答案也不同,但是你可以注意到这两个交换了答案确实最优解,这其实就是这题的规律。 就 阅读全文
posted @ 2025-04-16 20:25 LteShuai 阅读(20) 评论(0) 推荐(0)
摘要: 题目 题目不可能情况思考 对x+k=y+z这个式字分析,你会分析如果x<k,那么所得总和必然小于2*k,大于则相反,有了这个知识,就可以知道输出-1的情况是哪些了 其实再加k然后分摊出去,就是一个稀释的过程。 最终必然会导致x趋向于一个中间值,即k与aMAX的中间某条红线那。 如果说存在一头一尾在k 阅读全文
posted @ 2025-04-16 20:25 LteShuai 阅读(12) 评论(0) 推荐(0)
摘要: 题目 前言 首先着重讲下我的思路先: 8 2 3 1 1 7 4 3 我是定义一个now=a[i-1],每次进来就对其比较从而找出一个下降的序列,然后认为(很理想)这个序列是贡献为0,但是会出意外,这样比较是肯定会出错的,贡献怎么可能为0,然后又改成比较队尾元素了,这样做就没意义了 8 7 6 5 阅读全文
posted @ 2025-04-16 20:25 LteShuai 阅读(9) 评论(0) 推荐(0)
摘要: 题目 前言 如果按照左右逼近的话 是一定会多算的,造成代价更大 ,所以不行。 题目思路 注意审题 对于1-n的每一个i都有pi=i 所以在遍历的时候 发现不符合的就可以定一个指针卡住,另一个指针往后走,找到正确的位置,区间就是代价。 但是这个左指针在往后寻找的过程中必须时刻更新区间最大的值,而不是最 阅读全文
posted @ 2025-04-16 20:22 LteShuai 阅读(26) 评论(0) 推荐(0)
摘要: 题目 题目 对于 &这个操作符不是相同就是1 而是只有两个都是1 才算1 两个0是0 要表示-3的二进制,通常使用补码表示法。首先,我们需要找到3的二进制表示,然后取其补码。 1+1=0 0+1=1 3的二进制表示为: 0000 0011 接下来,我们需要取其补码,即反码加1: 反码:1111 11 阅读全文
posted @ 2025-04-16 20:02 LteShuai 阅读(14) 评论(0) 推荐(0)
摘要: 题目 题目思路 分别求一个最大不下降子序列和最大上升子序列 为什么第二问是最大不上升子序列是因为 : 103 99 83 102 70 89 70 99 71 一个系统能解决83 就不能解决89 99 同理能解决89 就不能83 因为这个是有顺序的 所以是3个 然后在写的过程中 if(c1[mid] 阅读全文
posted @ 2025-04-16 20:02 LteShuai 阅读(37) 评论(0) 推荐(0)
摘要: 题目 树有三种方式遍历 先序 根左右 中序 左根右 后续 左右根 所以 我们可以从样例 求出每次dfs的根 还有每次左右分的字数 如此不断遍历下去。 代码借鉴于题解 #include<iostream> using namespace std; string s1,s2; int len1,len2 阅读全文
posted @ 2025-04-16 20:01 LteShuai 阅读(41) 评论(0) 推荐(0)
摘要: 当遇到处理子树询问,并且无修改时。可以考虑树上启发式合并。 算法流程: step1:处理出每个点的 以及重儿子 。 void dfs(int x, int fa) { siz[x] = 1; int Maxson = 0; for(int i = 0; i < p[x].size(); i++) { 阅读全文
posted @ 2025-04-16 20:01 LteShuai 阅读(15) 评论(0) 推荐(0)
摘要: 为什么要学逆元 我也不知道,比如(a/b)%p要是里面是个分数就g了 逆元说白了就是倒数 逆元的概念 在 (a / b) % p 中,我们可以使用逆元的概念将其表示为 (a * b') % p,其中 b' 是 b 在模 p 意义下的逆元。注意是是b在%p的逆元是b‘ 心得 ax ≡ 1 (mod b 阅读全文
posted @ 2025-04-16 20:01 LteShuai 阅读(43) 评论(0) 推荐(0)
摘要: 题目 题意简述 给定一个序列 \(a_1, a_2,\ldots, a_n\)。 A 先选择至多 \(k\) 个数删除,B 在剩下的数中选择至多 \(x\) 个数乘上 \(-1\),双方都做出最优选择,问最终序列和最大是多少。 题目思路 对于 B 来说肯定是尽量让最大的那几个数乘上 \(-1\),对 阅读全文
posted @ 2025-04-16 20:00 LteShuai 阅读(9) 评论(0) 推荐(0)
摘要: 题目 所需知识 必须要明白一个知识: 如果a%p=b%p=c,(a-b)%p=c。 证明: 首先,由于a % p = c,说明a可以表示为a = kp + c(其中k是一个整数)。同样,由于b % p = c,说明b可以表示为b = mp + c(其中m是一个整数)。 现在,我们来计算(a - b) 阅读全文
posted @ 2025-04-16 20:00 LteShuai 阅读(18) 评论(0) 推荐(0)
摘要: 题目 前言 讲下为什么两次翻转没用 比如 abc 站一块儿 翻一次 cba 第二次 abc 为什么会这样?其实就是因为翻转没有改变旁边邻居,只是改变了左右/相对位置,所以 ab ba ab又回来了 下面都是对abcde进行分析 我的做法w 暴力枚举 : 详见 我信心慢慢交上去,心里还纳闷就这还黄,一 阅读全文
posted @ 2025-04-16 20:00 LteShuai 阅读(22) 评论(0) 推荐(0)
摘要: 题目 前言 我发现其实翻转放后面还是前面都其实没关系的,只要操作正常就没事 然后这个代码 cnt有正负意义的 所以不要用 ((sum-x)%p+len)%p变成正的 #include<iostream> #include<deque> #include<algorithm> using namesp 阅读全文
posted @ 2025-04-16 19:59 LteShuai 阅读(9) 评论(0) 推荐(0)
摘要: 题目 看到没有动态规划的写法,但是标签又有这个,然后题解区也没有写,所以我决定写一篇来水一下题解。 题目描述 对于一个序列 \(A_1,A_2,\cdots,A_n\),找出两个数 \(i,j\)(\(1\le i<j\le n\)),使得 \(A_j-A_i\) 最大。注意到二者下标,并不是最大减 阅读全文
posted @ 2025-04-16 19:59 LteShuai 阅读(20) 评论(0) 推荐(0)
摘要: 题目 题目分析 给你一个长度为 \(n\) 的序列 \(a\) 和一个整数 \(k\),你要求一个区间 \([l,r]\) 满足: 对于任何整数 \(x∈[l,r]\),\(x\) 在 \(a\) 中的出现次数不少于 \(k\) 次。 最大化 \(r-l\)。 无解输出 -1。 请注意, \(x∈[ 阅读全文
posted @ 2025-04-16 19:58 LteShuai 阅读(14) 评论(0) 推荐(0)
摘要: 题目 是一道位掩码的好题,忍不住想写下题解去记录下,首先暴力做法就不提了,我们要做的就是优化,这里使用的是拆位 比如对于 3 2 11 10 那么对于第一个是 1 第二个是2*0 相加为1 你会发现拆位算 答案是不改变的 此题也是用拆位计算的 直接讲做法 首先外层套个20的循环 里层来个On的循环 阅读全文
posted @ 2025-04-16 19:58 LteShuai 阅读(19) 评论(0) 推荐(0)
摘要: 题目 题目思路 首先,题目明确说明必须连着吃,不可以跳着吃,所以我们可以固定好左边的人,然后枚举他从 \(1\) 到 \(N\),至于右边的人,我们可以使用后缀和与左边吃糖果的总和进行对比,采用二分,我的二分这里看起来和另一个题解不同,也是我本篇题解提交的原因,希望给读者更多的二分写法以及思路。受启 阅读全文
posted @ 2025-04-16 19:58 LteShuai 阅读(30) 评论(0) 推荐(0)
摘要: 题目 题目 E 是一个很裸的概率dp 概率dp板子是绿 然后做概率dp 都需要推下式子 就是高中数学那种E(x)=p1*f(1)+p2*f(2)这种,然后这个题目 其实看到数据 需要开long long ,然后这种正推的去找答案用记忆化搜索是 很好做的,初始化答案肯定是0,记忆化搜索保存答案最常见的 阅读全文
posted @ 2025-04-16 19:58 LteShuai 阅读(12) 评论(0) 推荐(0)
摘要: 题目 这道题 我感觉考得很有意思 考了一个 拆位的思想以及数学中的隔板法,首先对于一个n位数的数,我们要找到三个数相加等于他并且这三个数的数位之和要等于他,数据很大,很明显对于On的做法都要寄, 在这里我们需要想到一个拆位的思想,对于n的每一位拆开计算,那么这三个数的此位相加要等于这个位,这个时候就 阅读全文
posted @ 2025-04-16 19:58 LteShuai 阅读(10) 评论(0) 推荐(0)
摘要: 题目 对于这道题 我做了很久 想了很多优化的 但事实上 采用二维数组只会被卡精度卡麻了,时间也耗不起 所以最终还是用了题解的写法 不过确实写的比我好多了 第一个if那 是出现首位比前一个大 可以直接停 在else 里面是指 即使首位的差距弥补了 但是次位 次次位有差距 这种情况 再乘1即可 最后是f 阅读全文
posted @ 2025-04-16 19:58 LteShuai 阅读(11) 评论(0) 推荐(0)
摘要: 题目 看到没人用 tarjan,于是写了篇。 题面描述 有 \(n\) 个人围成若干个圈(也有可能只有一个)跳舞,每个圈至少有 \(2\) 个人。在圈中,每个人都与 \(2\) 个人相邻。特殊地,如果圈里只有 \(2\) 个人,则实际上只与一个人相邻。 做题思路 一道很好的题目,我们可以想到只要一个 阅读全文
posted @ 2025-04-16 19:57 LteShuai 阅读(11) 评论(0) 推荐(0)
摘要: 题目 这道题还是贪心贪得不太好,我的代码出现了这种情况 20 aabbccdxvssvxdccbbaa 5 我输出6 反思为什么输出6 我是先找出相等的 然后按照次数进行排序 然后开始一头一尾进行相互抵消 这就出问题了 aabb消耗了dxvs,代价为4 而cc还留着了 于是又找 又花2 等于6 实际 阅读全文
posted @ 2025-04-16 19:57 LteShuai 阅读(4) 评论(0) 推荐(0)
摘要: 题目 首先一定要明白的就是 F0^2+F1^2+F2^2......=Fn*Fn+1 刚好两个1边长 Fn*Fn+1=Fn*(Fn-1+Fn)+Fn^2 最终就是两个边长为1的 一个边长位2.....构成这个矩形 首先我们可以想到 如果我们不断的分Fn^2的正方形 最终一定可以划分成功 然后就是怎么 阅读全文
posted @ 2025-04-16 19:57 LteShuai 阅读(11) 评论(0) 推荐(0)
摘要: 题目 拿到这道题 我首先分析了什么时候不存在,然后通过画山峰图发现如果存在中间高两边低或者中间低两边高这种数据是不行的,于是开始写,结果发现最后一个样例打破了我的猜测,我当时想可能首尾不算,但是写了这么多题,直觉告诉我 我的猜测有问题 与于是开始想朴素的写法 81409090 73215 用计算器算 阅读全文
posted @ 2025-04-16 19:57 LteShuai 阅读(18) 评论(0) 推荐(0)
摘要: 题目 题目 最近两天学了欧拉函数 深刻感觉自己消元的技巧好差,什么是欧拉函数?\(φ(n)\) 表示1-n-1中所有与n互质的数 比如 φ(3)=2 φ(4)=2 第一个 如果n是素数 φ=n-1 如果gcd(a,b)=1,有\(φ(a*b)=φ(a)*φ(b)\) gcd(a+mb,b)=gcd( 阅读全文
posted @ 2025-04-16 19:56 LteShuai 阅读(21) 评论(0) 推荐(0)
摘要: 题目 这道题写错了 对于 8 11 1 2 4 7 后面补齐我不知道怎么写 还是看题解学会的 就是判断后面公差为1的数量是否大于剩下的。 if (st + lianxu <= n && n - st - lianxu >= (k - num - 1)) { st += lianxu; cnt[++s 阅读全文
posted @ 2025-04-16 19:56 LteShuai 阅读(7) 评论(0) 推荐(0)
摘要: 题目 题意简述 找两个整数 \(a\) 和 \(b\),满足以下规则。 \(a + b = x \times 2\); \(a \operatorname{xor} b = x\),其中 \(\operatorname{xor}\) 指异或。 做题思路 不妨在草稿纸上画画样例。 对于最终某位异或是一 阅读全文
posted @ 2025-04-16 19:56 LteShuai 阅读(8) 评论(0) 推荐(0)
摘要: 这几天很多事情 只学了一点东西,对于生成函数的学习更只是片面,但是无奈今晚无心写题于是写小结 首先是普通生成函数 我觉得对于这个形式幂级数需要好好思考,并不是我们天天说的那个变量X,他更多只是一个形式作用,对于该类函数而言,他的卷积满足满足以下规则 普通生成函数通常拿来解决多重集组合数问题,说实话蛮 阅读全文
posted @ 2025-04-16 19:55 LteShuai 阅读(12) 评论(0) 推荐(0)
摘要: 前言 董老师 一上来就弄了很多的泰勒展开式,高数逃课又没学,我只好开始背了。 对于第一个与第四个 第四个就是第一个的导数 别的都是正常带入变量而已 其实就是普通生成函数和指数生成函数,只不过没有ai,bi了 没别多的项了 对于 1-x3=(1-x)*(1+x+x2) 1-x4=(1-x2)*(1+x 阅读全文
posted @ 2025-04-16 19:55 LteShuai 阅读(28) 评论(0) 推荐(0)
摘要: 前言 今天刚好学了这个的卷积,对此有点体会但不多 首先是狄利克雷的生成函数 F(x)=a1/1^x+a2/2^x+....+an/n^x... =∑(∞,n=1)an/n^x 他的乘法 ∑(∞,i=1)ai/i^x*∑(∞,j=1)bj/j^x =.....+a1b4+a2b2+a4b1/4^x+. 阅读全文
posted @ 2025-04-16 19:55 LteShuai 阅读(18) 评论(0) 推荐(0)
摘要: 题目 前言 今晚上看和式的变换,顺便学习了整除分块 其实就是个分类 很简单的 也不知道为什么定为蓝题 对于∑(i,n)[n/i]向下取整 很明显 这个答案会有很多重复,但我们很容易想到归类他们,把他们分为一类,这就是分块的思想 对于整除分块 第一个性质 块数最多有 2*[sqrt(n)]个 当i<= 阅读全文
posted @ 2025-04-16 19:55 LteShuai 阅读(27) 评论(0) 推荐(0)
摘要: 前言 今天好懒啊 明明早上能来 我却不来!!!要坚持!!! 题目 呃,总结就是变来变去,这种题目要多做其实就跟数学一样熟练了就行的,如果最后银牌要选题 我选这个。 对于这个题目 下面我来下推导 上图吧 完整推导如上 我觉得最重要的就是 ∑(d|gcd(i,j)*u(d) =∑(n/k,d=1)*|i 阅读全文
posted @ 2025-04-16 19:54 LteShuai 阅读(4) 评论(0) 推荐(0)
摘要: 题目 前言 给一个不是线段树的朴素写法。 这道题很久以前就想写题解的,不过忘了,于是今天补下。 思路 考虑一个数大于 \(9\) 的时候,很明显是可以进行操作的,于是我们要把它放进集合里,然后一个数不能再操作的时候我们要删掉它,这边注意了,直接删除的时间复杂度是\(\mathcal{O(n)。}\) 阅读全文
posted @ 2025-04-16 19:47 LteShuai 阅读(21) 评论(0) 推荐(0)
摘要: 题目 这个贪心好想 不过证明有点费劲 以后博客不会在洛谷写了 转园了 这是最后一篇了 拿这个当作收尾吧 思路 是一个贪心的思路,对于一个数在入队列时候,放前还是后是一个问题,这个时候我们就要知道队内有多少个元素小于它大于它,然后决定前后顺序,于是我们可以想到把它放进集合里,然后二分查找出来,不过由于 阅读全文
posted @ 2025-04-16 19:47 LteShuai 阅读(16) 评论(0) 推荐(0)
摘要: 题目 做法评论区都给的差不多了,其实时间上可以从原来的\(\mathcal{O(T\sqrt{n})}\),优化成\(\mathcal{\dfrac{O(T\sqrt{n})}{\ln\sqrt{n}}}\),感谢讨论区佬们的指点,蒟蒻只是起到了整理作用。 我们以 \(10^{12}\) 为例子,讲 阅读全文
posted @ 2025-04-16 19:47 LteShuai 阅读(18) 评论(0) 推荐(0)
摘要: 第一个 非常非常好的一道双指针二分神题 也是我自己想出来的 for (int i = 1; i <= n; i++) { // cnt=a[i].num; // while(tot+a[i].num>=0&&r<=n) while (sum[i] - sum[l - 1] + k < 0) { l+ 阅读全文
posted @ 2025-04-16 19:47 LteShuai 阅读(10) 评论(0) 推荐(0)
摘要: 第一个题目 前言 这次我题目也是读了很久 那个p数组也看来很久明白。。 根明显是输入等于自己的那个点 这个题的构造 其实我么可以贪心的+1的叠加 输出只需要减去父节点的就行 明显正确 之前做过类似的,对于这道题目最重要是树链的抛分了 上次都没注意这个技巧这么实用 我一开始是想写出完整的链抛分 不打v 阅读全文
posted @ 2025-04-16 19:47 LteShuai 阅读(7) 评论(0) 推荐(0)
摘要: 题目 题意简述 有n个人,他们要顺时针的在n座城市开巡演,每到一个新城市,就多唱ai分钟,给你最终每座城市总的歌唱时间,求ai 思路 首先 我们对这个样例分析 6 81 75 75 93 93 87 画一个图先 很明显的,每个人都要开完n场演出,那么他总的歌唱时间其实是n(n+1)/2ai 所以我们 阅读全文
posted @ 2025-04-16 19:46 LteShuai 阅读(12) 评论(0) 推荐(0)
摘要: 题目 看了眼题解,发现大家都写的很高级复杂,于是写了篇我的思路的。 题目 你有一个 \(1\sim n\) 的排列 \(a\),最开始时 \(a_i=i\),你可以对这个排列 \(a\) 执行 \(n\) 次操作,每次指定一个正整数 \(x\) ,第 \(i\) 次时将 \(a_1\sim a_i\ 阅读全文
posted @ 2025-04-16 19:46 LteShuai 阅读(13) 评论(0) 推荐(0)
摘要: 第一个题目 这题是真麻烦 调起来 不过还好写的时候思路清晰 明白了要分段做 碰到0或者到头了 就需要返回 然后就是记录一个答案 需要求出前面的头指针此时下标 然后要明白返回的l r 之间要记录是二者的距离 这样方便求二者的下标 别的就没啥了 思路正确 做起来还是蛮快的 就是调的难受 node che 阅读全文
posted @ 2025-04-16 19:46 LteShuai 阅读(10) 评论(0) 推荐(0)
摘要: 第一道题目 题目 我当时的做法是每个大于k的/k 然后得到余数 对于小于k的变成负数 然后进行双指针 后面如果剩了Z正的就两两合并 这种做法没问题 就是麻烦点 我们实际上对于那些余数 反正都是小于k 就直接弄在一起 合并就行了 管那么多干什么 while (l < r && r) { if(a[r] 阅读全文
posted @ 2025-04-16 19:45 LteShuai 阅读(4) 评论(0) 推荐(0)
摘要: 前言 这几天身体很差 前天下午做着就感觉心脏很不舒服 然后只好5点回去睡觉了, 然后晚上没吃睡醒了去写题 回去吃了炸鸡 完蛋 第二填早上去机房边写肚子边痛 痛的要死 后面蹲久了 人站起来很不舒服 眼冒金花那种耳朵嗡嗡的那种 就感觉要死了,后面休息了很久才好,果断回寝室休息。 然后晚上去补了那个并查集 阅读全文
posted @ 2025-04-16 19:44 LteShuai 阅读(8) 评论(0) 推荐(0)
摘要: 题目 这道题 我一开始用dp去写,结果发现一个问题,就是每次到了一个新的n我无法随时把这个最大的当前值取出来,然后就g掉了,后面看了下题解,才知道原来枚举用法就好了。太笨蛋了!!!不过锻炼了我dp 思路 可以发现 一定是绿蓝绿 蓝绿绿 绿绿蓝三种 于是就可以枚举三种情况,但是如何去写的更简便才是一个 阅读全文
posted @ 2025-04-16 19:43 LteShuai 阅读(11) 评论(0) 推荐(0)
摘要: 题目 前言 对于数论的题目 果然还是多想想gcd吧 不过这个题目看的不错 竟然结合了gcd lcm 是我的大脑旋转 思路 首先 我们一定要明白一个东西 ab|xy 中 ab含有的因子 xy也必须要全部用 然后ab/(gcd(ab,x)和y的关系是这样的 首先gcd挑选了ab和x的共有最大的公因子 那 阅读全文
posted @ 2025-04-16 19:43 LteShuai 阅读(8) 评论(0) 推荐(0)
摘要: 做题写了几个有意思的题目 第一个 题目 这个是一道交互题目 考察的重点是仔细审题,要注意到ab ba不同 于是一个环的长度可以通过这个询问得出 ,然后这个july陪审50次 大大降低了出错概率 。 学到的就是 问反向问 正向问起点 得到的是环的长度 即n个顶点 int check(int a, in 阅读全文
posted @ 2025-04-16 19:43 LteShuai 阅读(13) 评论(0) 推荐(0)
摘要: 前言 今晚回来玩4399还有看ok哥了 不然还能再切道d题,可能由于端午放假 心态放松了 选区的题目 就是感觉想选的 不想选的不选了 开始 第一个题 题目 这题我是用一个二分前缀和做的 char ch; int a[range]; int sum[range]; bool check(int l,i 阅读全文
posted @ 2025-04-16 19:43 LteShuai 阅读(12) 评论(0) 推荐(0)
摘要: 题目 前言 我想了好久,太久没打cf了 变笨了。。。。 然后看了三集ok哥赶海。。。浪费时间了 思路 首先要分析到末尾有0 就是在问10这个因子有多少个 我真菜 连这个也没发现 于是可以发现 2*5 或者5 * 2 然后我们还要知道 就是你利用了多少个K 不是加啊 比如说你有2个5 不是说k用了10 阅读全文
posted @ 2025-04-16 19:42 LteShuai 阅读(10) 评论(0) 推荐(0)
摘要: 前言 搞半天 思考半天 以为是和逛画展那个题一样的单调队列题目 然而是我想太多了 其实这就是个双指针 我要把这个题深深烙印在我的脑海里 思路 其实这个money trees 这个题的双指针写法极其的相似 , 本题是一个从前往后的枚举思维 money trees 其实也是 这样才好用双指针嘛 均摊下来 阅读全文
posted @ 2025-04-16 19:41 LteShuai 阅读(7) 评论(0) 推荐(0)
摘要: 很好的一道题 首先结论先放出来 对于n是3的倍数的 一定不可能只放L就剩一个格子 如果不是 一定可以放L就剩一个格子 证明很简单 假设n+6 n是偶数 则有n那个矩阵肯定可以2*2放完 6的话 2个L就行 如果n是奇数 拆成n+3 3的这种矩阵 n+3是偶数 3是奇数 可以放L填满 于是你会发现n+ 阅读全文
posted @ 2025-04-16 19:41 LteShuai 阅读(14) 评论(0) 推荐(0)