avatar
文章
67
标签
70
分类
31
主页
关于
标签
分类
归档
Cauphenuny's Blog
搜索
主页
关于
标签
分类
归档

Cauphenuny's Blog

20210220 考试总结
发表于2021-02-20|更新于2023-08-02|oi考试总结|dp•线性代数•LCT•四边形不等式
Review 考试时一直在肝论文,发现 2017 国集论文里面有决策单调性优化 dp 的内容,终于在考试最后 2 分钟调过样例。 结果因为没有滚数组导致 MLE,沦为暴力 20pts。 Solution T1 hike nnn 个点, qqq 个询问 两种询问,分别是合并两树和查询树中里给定点最远的点的距离 LCT 维护树的直径板子题 O(nlog⁡n)O(n\log n)O(nlogn),可惜我不会,只好启发式合并暴力处理倍增数组。 考虑两颗树的直径端点 a,b,c,da,b,c,da,b,c,d ,则合并出的新树直径只有可能是这 4 个数中的 2...
二分图
发表于2021-02-18|更新于2023-08-02|oi学习笔记图论|图论•二分图
二分图的结论和算法 防止忘记 匈牙利算法的过程是,枚举每一个左部点 uuu ,然后枚举该左部点连出的边,对于一个出点 vvv,如果它没有被先前的左部点匹配,那么直接将 uuu 匹配 vvv,否则尝试让 vvv 的“原配”左部点去匹配其他右部点,如果“原配”匹配到了其他点,那么将 uuu 匹配 vvv,否则 uuu 失配。 二分图最大独立集等于总点数减去最大匹配
20210218 模拟赛总结
发表于2021-02-18|更新于2023-08-02|oi考试总结|二分图•dp•多项式
Index Review 考的不错,主要是第一题做出来了,分数可观, 140pts。 但是后面两题的暴力分也没有打满,这是做的不够的一点。 Solution pk 定义 f(n,k)=(n−k+1)!∑i=0k−1(n−ki)(kj−i−1)f(n,k)=(n-k+1)!\sum_{i=0}^{k-1}\dbinom{n-k}{i}\dbinom{k}{j-i-1}f(n,k)=(n−k+1)!∑i=0k−1​(in−k​)(j−i−1k​) ,求 ∑i=LRf(i+s,i)\sum\limits_{i=L}^{R}f(i+s,i)i=L∑R​f(i+s,i) 经过打表可以发现 f(n,n)=nf(n,n)=nf(n,n)=n 和 f(n,k)=f(n,k+1)⋅kf(n,k)=f(n,k+1)\cdot kf(n,k)=f(n,k+1)⋅k 化简得 f(n,k)=n!(k−1)!f(n,k)=\dfrac{n!}{(k-1)!}f(n,k)=(k−1)!n!​ type=1 首先考虑 type=1 的情况,代入式子即得...
20210217 模拟赛总结
发表于2021-02-17|更新于2023-08-02|oi考试总结|凸壳•树形问题
Index Review T1 难度较低,写了正解,T2、T3写了暴力,不知道 T2 为什么没有分,120pts. 要注意看题,差点就把 T1 看错了,导致误判难度。还有要注意题目中的数据范围,比如 T2 k≤5k\le5k≤5 就是一个很好的入手条件。 Solution T1 god 在平面直角坐标系中,在 x 负半轴有一些位置,编号 111 ~ nnn ,正半轴有 mmm 个点 (si,0)(s_i,0)(si​,0) 。每个点有一个移动向量 (xi,yi)(x_i,y_i)(xi​,yi​) 每一秒按此向量移动 (0≤xi,yi≤1050\le x_i,y_i\le 10^50≤xi​,yi​≤105) ,每个点的价值为它到编号为 [li,ri][l_i,r_i][li​,ri​] 区间内位置的曼哈顿距离和,qqq 个询问,每个询问给定 ttt ,求 yyy 时刻每个点价值的最小值。 设点 i 对时间的价值函数为 valival_ivali​ 由于点只会往右上方跑,所以 valival_ivali​...
FFT 笔记
发表于2021-02-08|更新于2023-08-02|oi学习笔记多项式|FFT•多项式
防止过了几个月就忘了 单位复根 ωn=e2πin=cos⁡(2πn)+i⋅sin⁡(2πn)\omega_n=e^{\frac{2\pi i}{n}}=\cos\left(\dfrac{2\pi}{n}\right)+i\cdot \sin\left(\dfrac{2\pi}{n}\right)ωn​=en2πi​=cos(n2π​)+i⋅sin(n2π​) 性质 ωnn=1ωnk=ω2n2kω2nk+n=−ω2nk\begin{aligned} \omega_n^n&=1\\ \omega_n^k&=\omega_{2n}^{2k}\\ \omega_{2n}^{k+n}&=-\omega_{2n}^k\\ \end{aligned} ωnn​ωnk​ω2nk+n​​=1=ω2n2k​=−ω2nk​​ 位逆序置换: R(x)=⌊R(⌊x2⌋)2⌋+(x mod 2)×len2R(x)=\left\lfloor \frac{R\left(\left\lfloor \frac{x}{2} \right\rfloor\right)}{2}...
P2986 (USACO10MAR) Great Cow Gathering G
发表于2021-02-06|更新于2023-08-02|oi总结dp|dp•换根 dp
换根 dp 模板题 设 f(x,d)f(x,d)f(x,d) 表示在 x 的子树中,与 x 距离为 d 的点值之和。 设 g(x,d)g(x,d)g(x,d) 表示与 x 相距 d 的点之和 g(x,d)=f(x,d)+g(fa,d−1)−f(x,d−2)g(x,d)=f(x,d)+g(fa,d-1)-f(x,d-2) g(x,d)=f(x,d)+g(fa,d−1)−f(x,d−2) 答案为 g 的前缀和
P5851 (USACO19DEC) Greedy Pie Eaters P
发表于2021-02-06|更新于2023-08-02|oi|学习笔记•总结
区间 dp ,注意枚举端点 i,j,k 的顺序,模拟一下就好了,如果使用了未更新的状态,就是错的 sorry for that i don’t have a chinese input method Functions: g(x, l, r) means we have the largest cow which can eat pos(x) , and it can only affect pies in [l, r] f(x, l, r) means the weight summary that we can get from a sequence of cows, and it only affect pies in [l, r] So we have the things below: 12345678910111213foreach cow_i foreach x in range[l_i, r_i] g(x, l_i, r_i) = w_i;foreach k in [1 -> n] foreach i in [k -> 1], j in [k...
P2569 (SCOI2010)股票交易
发表于2021-02-06|更新于2023-08-02|oi总结dp|dp
P2569 (SCOI2010)股票交易 巧妙的单调性优化 设 f(t,x)f(t,x)f(t,x) 表示第 ttt 天,手持 xxx 只股票时的最大利润,显然有几种转移方式 在第 ttt 天什么也不做 f(t,x)=f(t−1,x)f(t,x)=f(t-1,x) f(t,x)=f(t−1,x) 在第 ttt 天买进股票,刚好买 xxx 只 f(t,x)=−xAPif(t,x)=-xAP_i f(t,x)=−xAPi​ 在第 ttt 天买进股票 f(t,x)=max⁡1≤x′≤ASi(f(t−w−1,x−x′)−x′APi)f(t,x)=\max\limits_{1\le x'\le AS_i}(f(t-w-1,x-x') - x'AP_i) f(t,x)=1≤x′≤ASi​max​(f(t−w−1,x−x′)−x′APi​) 为什么是 t−w−1t-w-1t−w−1 呢,假设实际上上一次操作是在第 t′t't′ 天,那么就相当于从第 t′t't′ 天到第 t−w−1t-w-1t−w−1...
CF372C Watching Fireworks is Fun
发表于2021-02-06|更新于2023-08-02|oi总结dp|dp•单调队列
CF372C Watching Fireworks is Fun 单调队列优化区间 dp 设 f(i,j)f(i,j)f(i,j) 表示放到第 iii 个烟花,当前在 jjj 的位置,设可以在两次烟花之间的移动距离为 sss 可以发现 f(i,j)=min⁡j−s≤k≤j+s(f(i,k))+bi−∣ai−j∣f(i,j)=\min\limits_{j-s\le k\le j +s}(f(i,k))+b_i-\vert a_i-j\vert f(i,j)=j−s≤k≤j+smin​(f(i,k))+bi​−∣ai​−j∣ 用单调队列维护,加滚动数组,时间复杂度 O(nm)O(nm)O(nm) ,空间复杂度 O(n)O(n)O(n)
P1712 (NOI2016) 区间
发表于2021-02-06|更新于2023-08-02|oi总结|线段树•数据结构
P1712 [NOI2016]区间 status 线段树维护单点最大值+队列 注意的一点:在下图时 12105 | while (res(1) == m && pos <= i) { | ...
1…345…7
avatar
Cauphenuny
文章
67
标签
70
分类
31
Follow Me
最新文章
一种对 3D 旋转矩阵的直观理解2025-10-11
Coroutines in C2025-09-25
在 C 语言中写类型安全的泛型容器2025-07-08
Basics of Diffusion2025-05-03
在 arm host 上使用 gdb 调试 amd64 程序2025-04-08
最新评论
加载中...
分类
  • CS8
    • CP1
    • CV1
    • Graphics1
    • PL4
      • c/cpp4
    • Web1
  • oi50
标签
脚本 三元环计数 LCT C 背包 env JavaScript 编译原理 构造 FWT gdb 圆反演 vim 学习笔记 数学 四元环计数 dp 科技 换根 dp 平衡树 Bézout定理 tarjan 斜率优化 数论 单调队列 brainfuck 总结 线性代数 HTML Compiler 积性函数 cpp 势能分析 图论 卷积 三角剖分 抽象代数 bitset 四边形不等式 树
归档
  • 十月 2025 1
  • 九月 2025 1
  • 七月 2025 1
  • 五月 2025 1
  • 四月 2025 1
  • 十一月 2024 2
  • 六月 2024 1
  • 四月 2024 2
网站信息
文章数目 :
67
本站总字数 :
82.9k
本站访客数 :
本站总浏览量 :
最后更新时间 :
©2020 - 2025 By Cauphenuny
框架 Hexo|主题 Butterfly
搜索
数据加载中