<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Antimonysbguy的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Antimonysbguy</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Antimonysbguy]]></copyright><item><title><![CDATA[[DP] ABC262 D - I Hate Non-integer Number]]></title><link>https://blog.youkuaiyun.com/Antimonysbguy/article/details/126099810</link><guid>https://blog.youkuaiyun.com/Antimonysbguy/article/details/126099810</guid><author>Antimonysbguy</author><pubDate>Mon, 01 Aug 2022 14:03:51 +0800</pubDate><description><![CDATA[atcoder ABC262 D题题解]]></description><category></category></item><item><title><![CDATA[[数学] CF JULY222D Maximize Difference]]></title><link>https://blog.youkuaiyun.com/Antimonysbguy/article/details/125964527</link><guid>https://blog.youkuaiyun.com/Antimonysbguy/article/details/125964527</guid><author>Antimonysbguy</author><pubDate>Sun, 24 Jul 2022 21:21:58 +0800</pubDate><description><![CDATA[CF JULY222D Maximize Difference]]></description><category></category></item><item><title><![CDATA[[复习] 暑假打板]]></title><link>https://blog.youkuaiyun.com/Antimonysbguy/article/details/125811301</link><guid>https://blog.youkuaiyun.com/Antimonysbguy/article/details/125811301</guid><author>Antimonysbguy</author><pubDate>Fri, 15 Jul 2022 19:45:36 +0800</pubDate><description><![CDATA[antimony的算法板子库]]></description><category></category></item><item><title><![CDATA[精灵]]></title><link>https://blog.youkuaiyun.com/Antimonysbguy/article/details/110569708</link><guid>https://blog.youkuaiyun.com/Antimonysbguy/article/details/110569708</guid><author>Antimonysbguy</author><pubDate>Thu, 03 Dec 2020 20:57:30 +0800</pubDate><description><![CDATA[结论题好是好，就是有点恶心心
你知道结论就会，不会就很不一定做对
但是学起来飞快，因为它是结论嘛????
题意
nnn个数
对于每个数xxx有操作：将二进制下第iii位异或1
代价
f(x,i)=(max⁡(x,x⊕2i))2i mod 19260817+1{f(x,i)=(\max(x,x\oplus 2^i))^{2^i}\bmod 19260817+1}f(x,i)=(max(x,x⊕2i))2imod19260817+1
定义a(x,y)a(x,y)a(x,y)位将xxx转化为yyy的总代价
求
m]]></description><category></category></item><item><title><![CDATA[[Hall定理] 奖章]]></title><link>https://blog.youkuaiyun.com/Antimonysbguy/article/details/110549783</link><guid>https://blog.youkuaiyun.com/Antimonysbguy/article/details/110549783</guid><author>Antimonysbguy</author><pubDate>Thu, 03 Dec 2020 17:01:29 +0800</pubDate><description><![CDATA[题意
nnn个人上工，第iii个人连续工作aia_iai​天，休息aia_iai​天
每天可以给一个上工的人发奖章，求给每个人发kkk个奖章需要的最少天数
正解
大家看到这道题第一反应就去LCM了
结果这道题二分图qwq
复制kkk份工人，每个点与所有能上工的天匹配
如果有完美匹配，则这个天数合法
显然这个天数可以二分
想到Hall定理一句废话
二分图存在最大完备匹配的充要条件是某一侧任意kkk个点与另一侧相连的点数≥k\ge k≥k
对于每一天，预处理出它连向的人，发现nnn很小，可以状压
二分有上界3n]]></description><category></category></item><item><title><![CDATA[[最大生成树][LCA] 货车运输]]></title><link>https://blog.youkuaiyun.com/Antimonysbguy/article/details/110500591</link><guid>https://blog.youkuaiyun.com/Antimonysbguy/article/details/110500591</guid><author>Antimonysbguy</author><pubDate>Wed, 02 Dec 2020 21:41:09 +0800</pubDate><description><![CDATA[还是纪念一下
傻逼题
Port key
题意
A 国有 nn 座城市，编号从 11 到 nn，城市之间有 mm 条双向道路。每一条道路对车辆都有重量限制，简称限重。
现在有 qq 辆货车在运输货物， 司机们想知道每辆车在不超过车辆限重的情况下，最多能运多重的货物。
正解
显然走的边在最大生成树上
然后感觉是换根DP
但是min⁡\minmin抠不掉lcalcalca到根
换个思路：直接求lcalcalca，在求LCALCALCA的时候取min⁡\minmin
取min⁡\minmin的时候顺序写反了????]]></description><category></category></item><item><title><![CDATA[[期概DP] 换教室]]></title><link>https://blog.youkuaiyun.com/Antimonysbguy/article/details/110479871</link><guid>https://blog.youkuaiyun.com/Antimonysbguy/article/details/110479871</guid><author>Antimonysbguy</author><pubDate>Wed, 02 Dec 2020 14:03:16 +0800</pubDate><description><![CDATA[Port key
题意
至多换课mmm次从教室cic_ici​换到did_idi​，换课成功概率为pip_ipi​，最小化∑idisc/di→c/di+1\sum_idis_{c/d_i\to c/d_i+1}∑i​disc/di​→c/di​+1​的期望
正解
图很小，Floyd预处理disdisdis
考虑如何求期望：期概DP
设状态f[i,j,0/1]f[i,j,0/1]f[i,j,0/1]为第iii节课，使用了jjj次换课机会，这一节课有没有换课 的期望
考虑转移：
就是很有条理地分类讨论


f[]]></description><category></category></item><item><title><![CDATA[[大模拟] 计算表达式的值]]></title><link>https://blog.youkuaiyun.com/Antimonysbguy/article/details/110467995</link><guid>https://blog.youkuaiyun.com/Antimonysbguy/article/details/110467995</guid><author>Antimonysbguy</author><pubDate>Wed, 02 Dec 2020 09:23:00 +0800</pubDate><description><![CDATA[题意
给出计算表达式，包含数字、运算（+−×÷ab+-\times\div a^b+−×÷ab）与括号，求值
正解
大模拟
计算表达式→\to→栈
对于括号，遇到左括号，开始进栈；遇到右括号，计算栈中的值，此时保证了从栈顶到栈底（左括号处）运算符优先级递减
对于运算符，对比其与堆顶运算符优先级，大于等于则入栈，小于则计算
50 pts 求debug
#include&lt;bits/stdc++.h&gt;
using namespace std;
#define in Read()
int in{
	in]]></description><category></category></item><item><title><![CDATA[[二分图][贪心模拟] 立体几何]]></title><link>https://blog.youkuaiyun.com/Antimonysbguy/article/details/110439268</link><guid>https://blog.youkuaiyun.com/Antimonysbguy/article/details/110439268</guid><author>Antimonysbguy</author><pubDate>Tue, 01 Dec 2020 16:40:38 +0800</pubDate><description><![CDATA[哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈
哈哈哈哈假算法90分哈哈哈哈哈哈
哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈
题意
一个由小正方体组成的几何体，给出俯视图，在每个格子上标出小正方体的个数
要求一种方案，去掉或移动一些小正方体而三视图不变
求最多去掉的小正方体数
题解
90pts
有贪心：尽量使“木桶上最长的那块板子”处在交叉的位置
即对于一个高度hhh在正视图和侧视图中均是该行/列中最高的高度，则尽量让它处在这一行与这一列的交叉点上
发现有两种情况

列中有这个高度，而行中没有（反之亦然）：让它被比它更高的高度在行（列]]></description><category></category></item><item><title><![CDATA[[队列][数位DP] NOIP数]]></title><link>https://blog.youkuaiyun.com/Antimonysbguy/article/details/110434498</link><guid>https://blog.youkuaiyun.com/Antimonysbguy/article/details/110434498</guid><author>Antimonysbguy</author><pubDate>Tue, 01 Dec 2020 15:30:35 +0800</pubDate><description><![CDATA[优快云实在是太恶心了
今天考试T1就不会了，考场上打了个表就走了
题意
定义一种数，每对相邻的数字相差不超过1
求第iii个这种数
正解
法一
队列
每个数至多可以生成三个数：在最后一位后数字
入队iii次即为所求
#include&lt;bits/stdc++.h&gt;
using namespace std;
#define in Read()
#define int long long
int in{
	int i=0,f=1;char ch=0;
	while (!isdigit(ch) &am]]></description><category></category></item><item><title><![CDATA[[2-SAT][线段树优化建图] AT2336 Flags]]></title><link>https://blog.youkuaiyun.com/Antimonysbguy/article/details/110402130</link><guid>https://blog.youkuaiyun.com/Antimonysbguy/article/details/110402130</guid><author>Antimonysbguy</author><pubDate>Mon, 30 Nov 2020 20:25:11 +0800</pubDate><description><![CDATA[Port key
题意
一些旗子，在数轴上有两个可以放置的位置，最大化两个旗子之间的最小距离
正解
二选一，考虑2-SAT
考虑O(n2)O(n^2)O(n2)连边的优化：线段树优化建图优化至O(nlog⁡n)O(n\log n)O(nlogn)
二分答案
对于每一个长度lll，对于每一个点，位置记为ppp，在[p−l,p+l][p-l,p+l][p−l,p+l]中不能有其他的点
线段树建图，然后跑2-SAT判是否有解即可
#include&lt;bits/stdc++.h&gt;
using namesp]]></description><category></category></item><item><title><![CDATA[[2-SAT] 学习笔记]]></title><link>https://blog.youkuaiyun.com/Antimonysbguy/article/details/110394607</link><guid>https://blog.youkuaiyun.com/Antimonysbguy/article/details/110394607</guid><author>Antimonysbguy</author><pubDate>Mon, 30 Nov 2020 18:39:50 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[[最短路] Milk Pumping G]]></title><link>https://blog.youkuaiyun.com/Antimonysbguy/article/details/110389568</link><guid>https://blog.youkuaiyun.com/Antimonysbguy/article/details/110389568</guid><author>Antimonysbguy</author><pubDate>Mon, 30 Nov 2020 15:52:21 +0800</pubDate><description><![CDATA[Port key
我是真的没想到这题能最短路
全往费用流上想去了
还是学得太少
这题其实一看就不是费用流
费用流要求在最大流前提下的最小费用
而这道题不一定能够最大流
题意
一个图，每条边有限制fff和代价ccc，maximize(min⁡i{fi}∑ci)maximize(\frac{\min_i\{f_i\}}{\sum c_i})maximize(∑ci​mini​{fi​}​)
题解
将ccc视为边权，求最短路
考虑fff的影响
发现可以枚举fff，因为它小 (随便欺负人家小是不对的????)
O(]]></description><category></category></item><item><title><![CDATA[[Tarjan LCA] Milk Visits G]]></title><link>https://blog.youkuaiyun.com/Antimonysbguy/article/details/110384143</link><guid>https://blog.youkuaiyun.com/Antimonysbguy/article/details/110384143</guid><author>Antimonysbguy</author><pubDate>Mon, 30 Nov 2020 15:24:51 +0800</pubDate><description><![CDATA[奇奇怪怪的算法，这道题竟然可以用tarjan lca做
以前的主席树+树剖
发现对于路径u↔vu\leftrightarrow vu↔v，要求颜色为ccc
如果路径中不包含某个颜色，那么这个颜色可能存在于1↔lca1\leftrightarrow lca1↔lca中
想到记录颜色最深位置pcp_cpc​，发现有性质：
1↔n1\leftrightarrow n1↔n的pcp_cpc​如果等于1↔m1\leftrightarrow m1↔m的，那么ccc一定不存在于路径n↔mn\leftrightarrow ]]></description><category></category></item><item><title><![CDATA[[校内模拟][并查集][主席树+树剖] Milk Visits 两题]]></title><link>https://blog.youkuaiyun.com/Antimonysbguy/article/details/110383453</link><guid>https://blog.youkuaiyun.com/Antimonysbguy/article/details/110383453</guid><author>Antimonysbguy</author><pubDate>Mon, 30 Nov 2020 11:49:25 +0800</pubDate><description><![CDATA[T1 S
Portkey
以前的题解
两种牛，并查集维护连通块
起点终点在两个连通块之间则一定合法，因为两种牛都能出现（否则起点终点在同一个连通块种）
在同一个连通块中，考虑这个连通块的颜色即可
#include&lt;bits/stdc++.h&gt;
using namespace std;
#define in Read()
int in{
	int i=0,f=1;char ch=0;
	while (!isdigit(ch) &amp;&amp; ch!='-') ch=getchar();
	i]]></description><category></category></item><item><title><![CDATA[[校内模拟][区间DP] 纸牌Cards]]></title><link>https://blog.youkuaiyun.com/Antimonysbguy/article/details/110272180</link><guid>https://blog.youkuaiyun.com/Antimonysbguy/article/details/110272180</guid><author>Antimonysbguy</author><pubDate>Sat, 28 Nov 2020 14:43:43 +0800</pubDate><description><![CDATA[恶心
回来NOIP第一道题
正解想到了，但是脑子抽了乱分析
有优秀的O(n3)O(n^3)O(n3)，规规整整的区间DP，非要写递归记搜
题意
给出序列，对于一个子区间，如果区间头尾元素相等，则可以消掉这个区间，对答案贡献为头元素的值，最大化答案
正解
区间DP，记[l,r][l,r][l,r]的答案为fl,rf_{l,r}fl,r​
两个操作：

合并：fl,r=max⁡l≤k&lt;r{fl,k+fk+1,r}f_{l,r}=\max_{l\le k&lt;r}\{f_{l,k}+f_{k+1,r}\}]]></description><category></category></item><item><title><![CDATA[[游记] CSP2020游记]]></title><link>https://blog.youkuaiyun.com/Antimonysbguy/article/details/109531891</link><guid>https://blog.youkuaiyun.com/Antimonysbguy/article/details/109531891</guid><author>Antimonysbguy</author><pubDate>Fri, 06 Nov 2020 14:58:43 +0800</pubDate><description><![CDATA[谁能想到蒟蒻的第一篇游记竟然就成了最后一篇呢
Day0
一想到就要离开可爱的数据结构和机房，心里不免有一些小失落呢
然后开始颓qwq

]]></description><category></category></item><item><title><![CDATA[[线代] 矩阵求逆]]></title><link>https://blog.youkuaiyun.com/Antimonysbguy/article/details/109503030</link><guid>https://blog.youkuaiyun.com/Antimonysbguy/article/details/109503030</guid><author>Antimonysbguy</author><pubDate>Thu, 05 Nov 2020 08:49:55 +0800</pubDate><description><![CDATA[#include&lt;bits/stdc++.h&gt;
using namespace std;
#define in Read()
int in{
	int i=0,f=1;char ch=0;
	while (!isdigit(ch) &amp;&amp; ch!='-') ch=getchar();
	if(ch=='-') ch=getchar(),f=-1;
	while (isdigit(ch))
		i=(i&lt;&lt;1)+(i&lt;&lt;3)+ch-48, ch=getcha.]]></description><category></category></item><item><title><![CDATA[[树形DP] 树形DP四例]]></title><link>https://blog.youkuaiyun.com/Antimonysbguy/article/details/109492037</link><guid>https://blog.youkuaiyun.com/Antimonysbguy/article/details/109492037</guid><author>Antimonysbguy</author><pubDate>Wed, 04 Nov 2020 20:28:31 +0800</pubDate><description><![CDATA[是时候练一下DP了！
我的题单
文章目录T1 “访问”美术馆T6 最大子树和T7 [CTSC1997]选课
T1 “访问”美术馆
Portkey
又是一道非常规读入题。。。
记fi,jf_{i,j}fi,j​为在iii节点，偷jjj幅画所需最少的时间
fi,j=min⁡{flchi,k+frchi,j−k}
f_{i,j}=\min\{ f_{lch_i,k}+f_{rch_i,j-k} \}
fi,j​=min{flchi​,k​+frchi​,j−k​}
T6 最大子树和
Portkey
菜题
#inc]]></description><category></category></item><item><title><![CDATA[[校内模拟] 201103 NOIP T4]]></title><link>https://blog.youkuaiyun.com/Antimonysbguy/article/details/109484377</link><guid>https://blog.youkuaiyun.com/Antimonysbguy/article/details/109484377</guid><author>Antimonysbguy</author><pubDate>Wed, 04 Nov 2020 09:47:44 +0800</pubDate><description><![CDATA[题意
求a,b,c∈[l,r],a&lt;b&lt;c,a∣b,b∣ca,b,c\in[l,r],a&lt; b&lt; c,a|b,b|ca,b,c∈[l,r],a&lt;b&lt;c,a∣b,b∣c的三元组(a,b,c)(a,b,c)(a,b,c)个数
正解
先假设a≤b≤ca\le b\le ca≤b≤c
枚举aaa，设b′=ba,c′=cab'=\frac{b}{a},c'=\frac{c}{a}b′=ab​,c′=ac​，则要求b′,c′≤⌊ra⌋b',c'\le \lfloor\frac{r}{]]></description><category></category></item></channel></rss>