<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Oakley]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Oakley_</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Oakley_]]></copyright><item><title><![CDATA[三国杀单机版 （控制台（小黑框）操作，自己控制所有人） 可玩武将26张（标准包+张角） 可玩游戏牌160张（标准包+EX+军争）]]></title><link>https://blog.youkuaiyun.com/Oakley_/article/details/145930066</link><guid>https://blog.youkuaiyun.com/Oakley_/article/details/145930066</guid><author>Oakley_</author><pubDate>Fri, 28 Feb 2025 15:27:23 +0800</pubDate><description><![CDATA[【代码】三国杀单机版（缺一个刘备的仁德技能）]]></description><category></category></item><item><title><![CDATA[DATE类]]></title><link>https://blog.youkuaiyun.com/Oakley_/article/details/106355735</link><guid>https://blog.youkuaiyun.com/Oakley_/article/details/106355735</guid><author>Oakley_</author><pubDate>Tue, 26 May 2020 14:34:33 +0800</pubDate><description><![CDATA[#include&lt;iostream&gt;
using namespace std;
int mdays[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};//月份所含日期数组 
class Date//日期类 
{
	public:
	int year,month,day;
	Date(int x,int y,int z) {year=x,month=y,day=z;}//构造日期 
	Date() {}//构造空 
	~Date(){}//释放 
	int .]]></description><category></category></item><item><title><![CDATA[派生类调用基类构造函数]]></title><link>https://blog.youkuaiyun.com/Oakley_/article/details/106344151</link><guid>https://blog.youkuaiyun.com/Oakley_/article/details/106344151</guid><author>Oakley_</author><pubDate>Mon, 25 May 2020 22:40:41 +0800</pubDate><description><![CDATA[不错的派生类调用基类构造函数

#include&lt;iostream&gt;
using namespace std;
class BASE{
public:
/*****************found1*****************/
 int i;
  BASE(int i){cout&lt;&lt;"调用基类BASE的构造函数:"&lt;&lt;i&lt;&lt;endl;}
  ~BASE(){cout&lt;&lt;"调用基类BASE的析构函数"&lt;&lt;endl;...]]></description><category></category></item><item><title><![CDATA[NOI知识点汇总]]></title><link>https://blog.youkuaiyun.com/Oakley_/article/details/98683162</link><guid>https://blog.youkuaiyun.com/Oakley_/article/details/98683162</guid><author>Oakley_</author><pubDate>Wed, 07 Aug 2019 00:40:04 +0800</pubDate><description><![CDATA[图论

网络流（dinic，SAP，ISAP选一个，费用流写EK就行。*zkw费用流），二分图
点分治，边分治，*动态点分治
树链剖分，动态树，树分块
虚树，*prufer编码
*仙人掌算法


数据结构

带权并查集
Splay（作为平衡树和维护区间），Treap，替罪羊树
线段树（权值线段树），树状数组，*线段树合并
分块，块状链表，*双向链表
凸包
树套树
主席树，可持久化trie，*其它可...]]></description><category></category></item><item><title><![CDATA[NOIP知识点汇总]]></title><link>https://blog.youkuaiyun.com/Oakley_/article/details/98476010</link><guid>https://blog.youkuaiyun.com/Oakley_/article/details/98476010</guid><author>Oakley_</author><pubDate>Sun, 04 Aug 2019 23:03:28 +0800</pubDate><description><![CDATA[基础算法

贪心√、枚举√、分治√、二分√、倍增√、*构造√、高精√、模拟√

图论

图
最短路（dijkstra、spfa、floyd），差分约束
最小生成树（kruskal、prim）
并查集（扩展域）
拓扑排序
二分图染色，*二分图匹配
tarjan找scc、桥、割点，缩点
*分数规划
树
树上倍增（LCA）
树的直径、树的重心
dfs序
*树链剖分

数论

gcd、lcm√
埃氏筛法√...]]></description><category></category></item><item><title><![CDATA[BZOJ3011: [Usaco2012 Dec]Running Away From the Barn 可并堆]]></title><link>https://blog.youkuaiyun.com/Oakley_/article/details/66478084</link><guid>https://blog.youkuaiyun.com/Oakley_/article/details/66478084</guid><author>Oakley_</author><pubDate>Sun, 26 Mar 2017 19:11:25 +0800</pubDate><description><![CDATA[题目链接：http://www.lydsy.com/JudgeOnline/problem.php?id=3011

以1号点为根建树，每个点维护一个大根堆，堆里的元素的权值等于到当前点的距离，然后只要堆顶的值大于L，就弹顶。

当向父亲合并的时候需要给堆里的元素整个加上一个值，于是写个推标记的pushdown就可以了




#include&lt;cmath&gt;
#include&lt;...]]></description><category></category></item><item><title><![CDATA[BZOJ2229: [Zjoi2011]最小割 分治最小割]]></title><link>https://blog.youkuaiyun.com/Oakley_/article/details/65677701</link><guid>https://blog.youkuaiyun.com/Oakley_/article/details/65677701</guid><author>Oakley_</author><pubDate>Fri, 24 Mar 2017 23:05:05 +0800</pubDate><description><![CDATA[题目链接：http://www.lydsy.com/JudgeOnline/problem.php?id=2229
至于什么是分治最小割就懒得在这里写了，网上的讲解应该很多，总之做n次最大流就可以得出n个点两两之间的最小割了，计算答案即可
#include
#include
#include
#include
#include
#include 
using namespace std;
#d]]></description><category></category></item><item><title><![CDATA[BZOJ1212: [HNOI2004]L语言 AC自动机]]></title><link>https://blog.youkuaiyun.com/Oakley_/article/details/65643952</link><guid>https://blog.youkuaiyun.com/Oakley_/article/details/65643952</guid><author>Oakley_</author><pubDate>Fri, 24 Mar 2017 20:24:28 +0800</pubDate><description><![CDATA[题目链接：http://www.lydsy.com/JudgeOnline/problem.php?id=1212
把给定的单词建成一个AC自动机，然后把给的文章在上面跑即可。
f[i]表示能不能匹配到第i个字符，当第i个字符在AC自动机上走到了x节点，如果x是一个danger节点那么就一直跳x的fail指针，如果路径上有danger节点，f[i]|=f[i-w[x]] （其中w[x]表示：如]]></description><category></category></item><item><title><![CDATA[BZOJ2067: [Poi2004]SZN 树形DP]]></title><link>https://blog.youkuaiyun.com/Oakley_/article/details/64904124</link><guid>https://blog.youkuaiyun.com/Oakley_/article/details/64904124</guid><author>Oakley_</author><pubDate>Wed, 22 Mar 2017 07:47:37 +0800</pubDate><description><![CDATA[题目大意：http://www.lydsy.com/JudgeOnline/problem.php?id=2067
这个题一共两问，先求第一问：也就是问这个图最少需要几笔画出来， ans1=(奇点个数+1)/2
然后第二问就是一个树形DP，f[i]表示以i的子树下面最少需要补一个多长的链，如何转移f[i]呢？
先二分答案，设答案为Lim
把所有f[son[i]]扔到一个set里，然后在se]]></description><category></category></item><item><title><![CDATA[BZOJ3091: 城市旅行 LCT]]></title><link>https://blog.youkuaiyun.com/Oakley_/article/details/62221365</link><guid>https://blog.youkuaiyun.com/Oakley_/article/details/62221365</guid><author>Oakley_</author><pubDate>Wed, 15 Mar 2017 13:50:37 +0800</pubDate><description><![CDATA[题目链接：http://www.lydsy.com/JudgeOnline/problem.php?id=3091
建议可以先做一下线段树版：2752高速公路
一看有删边加边，就是LCT的题了，然后推一推数学式子。
#include
#include
#include
#include
#include
using namespace std;
#define LL long long
co]]></description><category></category></item><item><title><![CDATA[BZOJ2286: [Sdoi2011]消耗战 虚树]]></title><link>https://blog.youkuaiyun.com/Oakley_/article/details/62067478</link><guid>https://blog.youkuaiyun.com/Oakley_/article/details/62067478</guid><author>Oakley_</author><pubDate>Tue, 14 Mar 2017 22:38:37 +0800</pubDate><description><![CDATA[题目链接：http://www.lydsy.com/JudgeOnline/problem.php?id=2286
题解：看数据范围以及结合题目要求显然可以用虚树，然后建出来虚树在上面DP就好了
建虚树时以1为根，然后f[i]表示将以i为节点的子树(包括其自己)断开的费用，如果f[i]为有资源的点f[i]=min(w[1到i的路径])，如果i没有资源，就将f[i]再和sum[f[son[i]]]]></description><category></category></item><item><title><![CDATA[BZOJ1055: [HAOI2008]玩具取名 区间DP]]></title><link>https://blog.youkuaiyun.com/Oakley_/article/details/61929994</link><guid>https://blog.youkuaiyun.com/Oakley_/article/details/61929994</guid><author>Oakley_</author><pubDate>Mon, 13 Mar 2017 21:34:45 +0800</pubDate><description><![CDATA[题目链接：http://www.lydsy.com/JudgeOnline/problem.php?id=1055
f[i][j][k]表示区间i,j能否合成出来字符k,其中k=1,2,3,4分别代表字母W,I,N,G，然后写一个自带64倍常数的区间DP就可以了#include
#include
#include
#include
#include
using namespace std;
co]]></description><category></category></item><item><title><![CDATA[BZOJ 2653: middle 主席树+二分]]></title><link>https://blog.youkuaiyun.com/Oakley_/article/details/61192038</link><guid>https://blog.youkuaiyun.com/Oakley_/article/details/61192038</guid><author>Oakley_</author><pubDate>Fri, 10 Mar 2017 10:31:50 +0800</pubDate><description><![CDATA[题目链接：http://www.lydsy.com/JudgeOnline/problem.php?id=2653
对于每一个询问，我们可以用二分答案来判断当前值可不可行。
先不考虑多组询问，可以把每一个大于等于二分值的数字设成1，小于二分值的数字设成-1，然后求出[b+1,c-1]的区间和以及[a,b]的右端最大连续和以及[c,d]的左端最大连续和，这几个操作可以用传递结构体的线段树来判定，]]></description><category></category></item><item><title><![CDATA[BZOJ2599: [IOI2011]Race 点分治]]></title><link>https://blog.youkuaiyun.com/Oakley_/article/details/55540405</link><guid>https://blog.youkuaiyun.com/Oakley_/article/details/55540405</guid><author>Oakley_</author><pubDate>Fri, 17 Feb 2017 22:34:51 +0800</pubDate><description><![CDATA[题目链接：http://www.lydsy.com/JudgeOnline/problem.php?id=2599
题解：点分治的时候记录两个值，一个是距离，一个是边数，因为最小值是无法删除的，所以可以开一个数组记录每一个答案出现了多少次，最后从小到大扫数组就OK
#include
#include
#include
#include
#include
using namespace std;]]></description><category></category></item><item><title><![CDATA[BZOJ3365: [Usaco2004 Feb]Distance Statistics 路程统计 点分治]]></title><link>https://blog.youkuaiyun.com/Oakley_/article/details/55532185</link><guid>https://blog.youkuaiyun.com/Oakley_/article/details/55532185</guid><author>Oakley_</author><pubDate>Fri, 17 Feb 2017 22:19:52 +0800</pubDate><description><![CDATA[题目链接：http://www.lydsy.com/JudgeOnline/problem.php?id=3365


题解：点分治的题
（对于点分治初学者，简单概括一下点分治）：点分治通过递归的方式不断找到子树的重心，然后以当前的子树的重心为根，统计该子树内所有点到根（重心）的距离并存放到一个数组里，然后在距离数组里做一些事情。点分治的时间复杂度为nlogn*(对距离数组做的事情的时间复]]></description><category></category></item><item><title><![CDATA[BZOJ1493: [NOI2007]项链工厂 Splay]]></title><link>https://blog.youkuaiyun.com/Oakley_/article/details/54708376</link><guid>https://blog.youkuaiyun.com/Oakley_/article/details/54708376</guid><author>Oakley_</author><pubDate>Tue, 24 Jan 2017 16:02:53 +0800</pubDate><description><![CDATA[1493: [NOI2007]项链工厂

Time Limit: 30 Sec  Memory Limit: 64 MB

Submit: 1434  Solved: 622
[Submit][Status][Discuss]
题解：
一个环上有各种颜色珠子，支持6种操作：
1.区间平移(把原题的意思转化一下就成了区间平移)
2.区间翻转
3.交换两个珠子的位置
4.区间染色]]></description><category></category></item><item><title><![CDATA[BZOJ1500: [NOI2005]维修数列 Splay]]></title><link>https://blog.youkuaiyun.com/Oakley_/article/details/54695145</link><guid>https://blog.youkuaiyun.com/Oakley_/article/details/54695145</guid><author>Oakley_</author><pubDate>Mon, 23 Jan 2017 18:13:05 +0800</pubDate><description><![CDATA[1500: [NOI2005]维修数列

Time Limit: 10 Sec  Memory Limit: 64 MB

Submit: 12862  Solved: 4104
[Submit][Status][Discuss]
题解：
Splay的巅峰之作，支持插入一堆数，删除一堆数，区间反转，区间权值覆盖，求和，求最大子序列
对于插入和删除：
因为内存只能开到500000，]]></description><category></category></item><item><title><![CDATA[BZOJ1895: Pku3580 supermemo Splay]]></title><link>https://blog.youkuaiyun.com/Oakley_/article/details/54670394</link><guid>https://blog.youkuaiyun.com/Oakley_/article/details/54670394</guid><author>Oakley_</author><pubDate>Sun, 22 Jan 2017 19:37:49 +0800</pubDate><description><![CDATA[BZOJ1895: Pku3580 supermemo

Time Limit: 15 Sec  Memory Limit: 64 MB

Submit: 291  Solved: 119
[Submit][Status][Discuss]
题解：
Splay裸题
关于REVOLVE操作，不难想其实是一个区间平移操作
区间平移操作我是这样写的：
先把T模一下区间长度，防止它转回]]></description><category></category></item><item><title><![CDATA[BZOJ2251: [2010Beijing Wc]外星联络 后缀数组]]></title><link>https://blog.youkuaiyun.com/Oakley_/article/details/54381264</link><guid>https://blog.youkuaiyun.com/Oakley_/article/details/54381264</guid><author>Oakley_</author><pubDate>Thu, 12 Jan 2017 20:20:40 +0800</pubDate><description><![CDATA[2251: [2010Beijing Wc]外星联络

Time Limit: 30 Sec  Memory Limit: 256 MB

Submit: 791  Solved: 475
[Submit][Status][Discuss]
题解：
后缀数组的题，因为要求输出按字典序排序，而后缀数组中的height数组是满足这个条件的，我们只需要利用height数组来找出所有的LCP]]></description><category></category></item><item><title><![CDATA[BZOJ1717: [Usaco2006 Dec]Milk Patterns 产奶的模式 后缀数组]]></title><link>https://blog.youkuaiyun.com/Oakley_/article/details/54379652</link><guid>https://blog.youkuaiyun.com/Oakley_/article/details/54379652</guid><author>Oakley_</author><pubDate>Thu, 12 Jan 2017 17:05:21 +0800</pubDate><description><![CDATA[1717: [Usaco2006 Dec]Milk Patterns 产奶的模式

Time Limit: 5 Sec  Memory Limit: 64 MB

Submit: 1064  Solved: 580
[Submit][Status][Discuss]
题解：
后缀数组求出来Height数组，然后求出相邻的K个串的LCP即可，不需要让串的长度大于K，因为等于K一定比大于]]></description><category></category></item></channel></rss>