摘要: 3.13 Hehe_0 用电脑不方便,原本是手写的字,也懒得打latex了,开始口胡 P8762 123 这个利用前缀和也可以统计然后进行计算,然后二分判断区间然后再去统计计算,然后前i组提前处理可以进行计算就是 i * (i+1) * (i+2) / 6 P6686 任 x+y>z,且存a=b,求 阅读全文
posted @ 2025-03-13 17:25 Hehe_o 阅读(2) 评论(0) 推荐(0) 编辑
摘要: Hehe_0 3.6 luoguP4832 珈百璃堕落的开始 读懂题才能看出来这是个类背包dp,又读了半天,因为要求最后是整数,所以$sin2$和$cos2$的数量相等,如果换成背包就是最后的容量花完/最后两者数量相等。 得到这一步就能直接设计出状态了,$f[i][j]$前i物品空间为j,然后能发现 阅读全文
posted @ 2025-03-06 21:31 Hehe_o 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 3.5 Hehe_0 并查集基本略,并查集优化就是路径压缩和按秩合并,主要就是针对查询和合并两种的优化,只不过我们平时就是直接写的就是路径压缩版。 按秩合并就是把这个集合树按照大小高度比较,让小的合并到大的里面,具体的在合并的时候操作就行了。 if(X!=Y) { if(s[X]<s[Y]) f[X 阅读全文
posted @ 2025-03-05 20:10 Hehe_o 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 试试平板,但是笔有点拉了,,写的好丑 复习的内容比较简单的就随便放在这里了 然后练手LUOGUP2068,单点修改区间查询没有初始值,其实就是挺裸的树状数组,但是先复习线段树 #include<bits/stdc++.h> using namespace std; #define mid ((l+r 阅读全文
posted @ 2025-03-04 19:32 Hehe_o 阅读(0) 评论(0) 推荐(0) 编辑
摘要: Hehe_0 前五个没啥好说,总结: gcd计算大家现在懒得手写可以用___gcd int gcd(int a, int b) { while(b) { a%=b; swap(a,b); } return a; } lcm就是a*b/gcd 虽然第六题是填空但是最优解因为有长度明确限制应该是可以用类 阅读全文
posted @ 2025-03-03 19:42 Hehe_o 阅读(11) 评论(0) 推荐(0) 编辑
摘要: Hehe_0 模拟赛内容随笔 [NOIP2015]金币 1 2 3 4 。。。 1 2-3 4-6 7-10 。。。 观察数据范围1e4,暴力就行,然后可以去思考优化版本 由于已经把规律给出来了,所以可以提前离线处理出来,如果数据过大,可以预处理每一次金币变化的天数,然后根据提问二分找区间然后求和。 阅读全文
posted @ 2025-02-22 12:31 Hehe_o 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 双指针 双指针实践上算是一种思想技巧,很灵活。说是双指针,但是我们在实际上使用的时候直接模拟进行就行,不过我们单独使用双指针的时候通常都是需要单调性,不然就是在其他的数据结构上进行。 比如我们需要找出一个数组中,一段1的连续最长长度或者 乘积/和 小于一定值的一定长度是多少。这个样子就是很典型的双指 阅读全文
posted @ 2025-02-07 15:09 Hehe_o 阅读(5) 评论(0) 推荐(0) 编辑
摘要: dp latex炸了回头在再修 P2365 任务安排 题外话:斜率优化和四边形这种都是很特定的优化。这个题好老阿 由于任务排成序列顺序不得改变,所以考虑从前往后进行状态转移,和我今天做了一个‘P8590’其中对于我们值的拆分很像。 开始设计状态,dp[i]表示前i个任务的最小费用,我们在计算费用的时 阅读全文
posted @ 2025-02-05 19:34 Hehe_o 阅读(15) 评论(0) 推荐(0) 编辑