自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

玫葵之蝶

搬到dkw.moe了

  • 博客(279)
  • 收藏
  • 关注

原创 BZOJ 4311 : 向量

传送门 思路很简单呀,就是套路题 (别听这家伙瞎说,他调了2h+) 线段树分治+凸包+三分 然后就是写三分一定要写那种缩小到一定区间内暴力判定 凸包一定不能错 线段树分治一般不会错 全程开long long 然后就没什么了 代码:#include<cstdio>#include<cstring>#include<iostream>...

2018-03-24 21:32:43 243

原创 BZOJ 100题纪念

BZOJ 100题纪念 觉得自己好弱qwq

2018-03-23 15:04:27 210

原创 BZOJ3456:城市规划

我中间有一步没开LongLong,然后快速幂的时候就GG了 大概就是: f(n)代表n个点的无向连通图数目g(n)代表n个点的无向图数目g(n)=2n(n−1)2考虑枚举1个点所在连通块的点的个数g(n)=∑i=1nC(n−1,i−1)∗f(i)∗g(n−i)这东西是不是长得很像卷积(明明是1004535809像卷积)然后我们把组合数拆开之后:g(n)=∑i=1n(n−1)!f(i)g(n−i...

2018-03-15 21:32:34 270

原创 BZOJ3992:[SDOI2015]序列统计

传送门 这个题大概裸dp这样:dp(i,j)代表已经填了前i个位置,当前乘积为j的方案数C(k)代表集合S中是否存在kdp(i+1,j∗k%m)=∑kdp(i,j)∗C(k)然后这个dp是O(m2n)的,也没啥优化的办法我们尝试将∗转化成+原根是个不错的选择原根可以将m−1个不同的数字(这个题目里0可以不计)对应到m−1个不同的幂上所以我们对应了之后,dp方程就改变了:dp(i+1,(j+k)%...

2018-03-14 20:56:12 295

原创 BZOJ3771 : Triple (生成函数+FFT+容斥)

传送门 大概就是构造分别取一个,两个,三个,三种的生成函数 然后乘的时候肯定有算重的 就容斥就好了 代码里有式子:(rank24,有点儿小开心)#include<cstdio>#include<cstring>#include<iostream>#include<cmath>#include<algorithm>...

2018-03-11 21:54:56 249

原创 多项式求逆

这个算法大概可以叫倍增吧这里讲的很好大概实现的时候就是一个递归具体细节挺多可以看我的代码:(这个是洛谷板子的)#include<cstdio>#include<cstring>#include<iostream>#include<cmath>#include<algorithm>#include<c...

2018-03-11 21:01:37 554

原创 [WC2016]:挑战NPC

传送门 这题还是很妙的 话说,我写带花树还是挺熟练的呀qwq 这题大概就是考虑如何让筐体现出它的价值 首先每个筐拆成三个点,分别代表三个空位 然后对于每个球可以放入框的对应关系,我们连三条边 最后再每个筐的三个点之间互相连边 如下图所示:(图是我拿来的) 这样来个带花树就做出来了 当然最后答案要-n 而且输出方案注意一下 还有边表开够 代码:#include<...

2018-03-09 16:49:41 280 2

原创 [WC2008]:游览计划

这题劲爆呀 斯坦纳树(的裸题)真是easy easy到我调这道题只用了2.5h呢 大概就是dp[i][s]表示当前在i当前选点集合为s的最小代价 然后列dp转移方程就好辣: dpi,S=minT∈S{dpi,T+dpi,S−T}dpi,S=minT∈S{dpi,T+dpi,S−T}dp_{i,S}=min_{T\in S}\{dp_{i,T}+dp_{i,S-T}\} dpi,S=mi...

2018-03-06 22:00:02 313

原创 [bzoj2428]:[HAOI2006]均分数据(模拟退火)

模拟退火大法好! 我的退火为何如此渣 而且为何我的生日只能跑0.9 可是6662333 就能跑0.8 qwq 代码:#include<cstdio>#include<cstdlib>#include<cstring>#include<cmath>#include<iostream>#include<alg...

2018-03-06 16:56:13 197

原创 [bzoj2428]:[HAOI2006]均分数据(爬山算法)

爬山太有趣辣 现在觉得调参真是人生中的一大乐趣 我的代码可以0.9过的qwq 就是因为我每次solve都加了一句random_shuffle 然后你就卡不掉我了哈哈哈 rank45 代码:#include<cstdio>#include<cstdlib>#include<cstring>#include<cmath>#incl...

2018-03-06 16:24:38 209

原创 替罪羊树(重量平衡树)

就是打了个板子 有个好板子:https://www.cnblogs.com/Hero-of-someone/p/7260332.html 这个只要改改代码风格就可以食用了 然后就是调参了qwq 0.8较为合适,可以跑到108ms 代码:#include<cstdio>#include<cstdlib>#include<cstring>#inc...

2018-03-04 22:09:30 440

原创 [WC2018]州区划分(子集卷积)

传送门 首先我们可以列个dp方程出来: dpS=(1wS)p∑T⊆SdpT∗(wS−T)pdpS=(1wS)p∑T⊆SdpT∗(wS−T)pdp_S=({\frac 1 {w_{S}}})^p \sum_{T\subseteq S}dp_T*(w_{S-T})^p 然后这样枚举子集暴力dp是O(3n)O(3n)O(3^n)的 然后我们可以加一维变成子集卷积dpi,Sdpi,Sdp_{i,S...

2018-02-20 22:42:20 1011

原创 子集卷积

还是之前那个题: http://codeforces.com/contest/914/problem/G 那个题的复杂度其实可以长这样子: O(n22n+n2n)O(n22n+n2n)O(n^22^n+n2^n) 只要用子集卷积就好了 子集卷积的定义大概长这样子: CK=∑L∈2U∑R∈2U[L∪R=K][L∩R=∅]AL∗BRCK=∑L∈2U∑R∈2U[L∪R=K][L∩R=∅]AL...

2018-02-20 16:51:43 1908

原创 快速沃尔什变换 FWT

这个东西好玄乎呀 首先就是它可以干什么: codeforces 914G 然后你就会说:“这tm什么鬼题!” 好,我们这次就是要解决这个问题,看完这篇你应该就可以掌握FWT 的代码了 我肯定是不会讲的,我们移步这里: http://picks.logdown.com/posts/179290-fast-walsh-hadamard-transform 看完之后应该差不多了 如果要看...

2018-02-18 23:54:15 602

原创 【洛谷】一句话题解

我突然也意识到没时间写题解了 所以,就写了这么一个东西P3203 弹飞绵羊LCT 修改就是先cut再link,查询就是查子树大小P4219 大融合LCT 这个题就是要维护子树信息,然后就记录一个si代表虚子树信息,s代表总信息 然后access,link的时候改一改信息就好了P2387 魔法森林LCT+MST 这个题挺神的。。 就是按照Ai排序之...

2018-02-15 11:50:01 557

原创 [Luogu3203]:HNOI2010弹飞绵羊

传送门 这就是LCT板子题。。 明显修改就是cut再link,查询就是把链拉出来统计长度再-1 然后也没什么了,注意m是后输入的(不要问我为什么要说这个) 代码:#include<cstdio>#include<cstring>#include<iostream>#include<cmath>#include<algor...

2018-02-13 10:37:24 268

原创 NTT板子

话说NTT真不是一般的快啊。。。。 还有到底用那个模数啊。。。。 UOJ模数会不会出问题啊。。。 算了,就用UOJ模数吧。。。 代码:#include#include#include#include#include#include#define ll long long#define max(a,b) a>b?a:b#define min(a,b) ausing

2018-02-06 13:37:44 810 2

原创 pb_ds试用

首先就是大名鼎鼎的pdf介绍: C++的pb_ds库在OI中的应用 看完了之后,再看一下具体实现吧,他没有怎么说具体使用 以下拿 普通平衡树 做了板子,写了一份代码 我用的是 rbtree 和 hashtable 关于这两个东西的说明在代码里有注释的 代码:(168ms,和手写splay几乎相当)#include#include#include#include#includ

2018-01-29 16:54:35 966

原创 [NOI2008]:志愿者招募

传送门 我们设第i类的志愿者的数量为Xi,工作区间为[Si,Ti] 设第i天的志愿者需求量为Ai,那么合法条件下就有以下几个不等式: (以下均为样例) P1 : X1>=A1 P2 : X1+X2>=A2 P3 : X2+X3>=A3 (其中Pi代表第i个不等式) 然后这个不等式非常不爽,我们可以添加n个辅助变量Yi,使它变为等式: P1 : X1+Y1=A1 P2 : X1+

2018-01-28 11:54:05 1564

原创 [codeforces 301D]:Yaroslav and Divisors

传送门 题目大意: 给定一个[1,n]的排列,有m次询问: 每次给定Li,Ri'>Li,RiLi,RiLi,Ri,询问有多少对q,w∈[Li,Ri]'>q,w∈[Li,Ri]q,w∈[Li,Ri]q,w\in [Li,Ri]使得Pq|Pw'>Pq|PwPq|PwP_q|P_w 题解: 这个题太妙辣 大概就是把每个询问拆成两个,具体题解可以看这里: https://www

2018-01-24 19:51:25 265

原创 愿下次的遇见都能更好

我今天听网易云,看评论的时候看到一条是这样写的: 有了这次经历,我明白了自己真正是想活下去吧,面对明天的二次手术,即使挣扎着也不会轻易向死神低头的。晚安咯。于是我翻了翻她的主页,发现她在10月还发了动态,祝福她长命百岁的同时,准备关掉主页 突然发现,有一条这样的动态: 今天是“我”的生日哦,“我”来许个愿再回到那边去吧,我喜欢下雪吧,当下雪的时候让我看到吧,告诉我你在哪里,

2018-01-18 22:14:05 514

原创 1-1 T2 rab(博弈论)

题目描述给定一棵树,初始时非叶节点均为无色,叶节点会是红色、蓝色或无色。 小红和小蓝轮流给无色叶子染色(小红染红色,小蓝染蓝色,小红先染)。所有 叶子染完后,非叶节点的颜色将被逐一确定:一个非叶节点的颜色是它所有儿子的颜 色中出现较多的那个(保证有奇数个儿子)。最后,根是谁的颜色谁就获胜。 求小红是否能赢,若能赢,求出第一步选择哪些叶子能赢。输入输出格式输入格式:第一行一个整数

2018-01-18 21:25:08 778

原创 1-1 T1 tree(dp+组合数学)

题目描述有 n 个点,第 i 个点的限制为度数不能超过 ai。 现在对于每一个 s(1问从这 n 个点中选出 s 个点组成有标号无根树的方案数。 答案对1004535809取模。输入输出格式输入格式:第一行一个整数表示n。 第二行n个整数a1~an。输出格式:一个n个整数,第i个整数表示s=i时的答案。输入输出样例输入样例#1: 复制 3 2

2018-01-18 12:05:31 497

原创 [bzoj2820]:YY的GCD(莫比乌斯反演)

传送门 反正就是推一大堆式子,然后就推出来了。。。 http://hzwer.com/6142.html 膜hzwer 代码:#include#include#include#include#include#include#define ll long long#define max(a,b) a>b?a:b#define min(a,b) ausing name

2018-01-17 18:19:58 198

原创 [bzoj3944]:Sum(杜教筛)

传送门 杜教筛好神奇啊 杜教太强辣 就是基于一些式子(懒得写了。) 然后预处理前n2/3n^{2/3}的前缀和,然后复杂度就是O(n2/3)O(n^{2/3})了 代码:#include#include#include#include#include#include#include#define ll long long#define max(a,b) a>b?a:b

2018-01-17 15:39:57 244

原创 [Codeforces757E] : Bash Plays with Functions(积性函数)

传送门 这个东西在r=0的时候,就是 f0(n)=2(n的质因子个数)f_0(n)=2^{(n的质因子个数)} 然后这个东西明显是个积性函数 然后题目里给的式子其实就是代表fr+1=fr∗1f_{r+1}=f_r*1 然后因为f0和1f_0和1都是积性函数,那么当r∈Nr\in N时都满足frf_r是积性函数 然后我们有这样一个递推式dp[i][j]=∑jk=0dp[i−1][k]dp[

2018-01-17 11:13:35 345

转载 OrzNiroBC

1:1 起初,NiroBC创造CS。 1:2 Turing机是空虚混沌,一切物理定律都还不适用。 1:3 NiroBC说,要有确定性自动机,就有了确定性自动机。他看确定性自动机是好的,就把计算机结构设定为von Neumann,并让之永远不变,不因参照系的改变而改变。 1:4 NiroBC称范围在1~100,000,000之间的复杂度为“可AC”,称这个区间以外的光为“TLE”。

2018-01-15 09:49:46 645

原创 圆方树及其应用

圆方树圆方树是一种专门用来处理仙人掌问题的树。 (仙人掌:任意一条边最多在一个环上的无向连通图) 如何建立圆方树呢? 我们可以求出所有的点双,也就是环 对于每一个环,我们建立一个方点,代表这棵子仙人掌 (我们认为仙人掌的根为1,各种定义可以感性理解一下) 然后原图上的点就成为圆点 每个方点向它周围的圆点连边 原图上的桥都连出来 这样我们就得到了一棵结构优美的圆方树 它有一些

2018-01-12 00:06:16 424

原创 上下界网络流(3合1)

我打的是LOJ的板子,因为比较全无源汇上下界可行流有源汇上下界最大流有源汇上下界最小流无源汇上下界可行流具体做法就是将每一条限制为[L,R]的边(u,v)拆开 连接(s,v)容量为L,(u,t)容量为L,(u,v)容量为R-L 大家可以感性地理解一下 数据范围大的时候,可以先记录每个点与起点终点的流量,最后减一减,一起连边就好了 代码:#includ

2018-01-10 14:54:39 204

原创 省选模拟D1

T1 就是瞎jb斜率优化,然后std奇妙地分治,因为一个点的询问只有几种情况,可以预处理,然后O(1)回答询问 代码:(基本抄std写的)#include#include#include#include#include#include#define ll long longusing namespace std;inline int read(){ int x=0;

2018-01-07 23:51:06 323 3

原创 三维偏序

传送门 就是 1D 排序 2D CDQ 3D BIT 没了,上代码,洛谷Rank6 代码:#include#include#include#include#include#include#define ll long longusing namespace std;inline int read(){ int x=0;char ch=' ';int f=

2018-01-05 10:53:08 335

原创 [NOI2015]:程序自动分析

传送门 这才是2015最水的题。。。 去了NOI2015不就直接保底300了吗。。。 我很无语。。 代码:#include<cstdio>#include<cstring>#include<iostream>#include<cmath>#include<algorithm>#include<cstdlib>#define ll long longusing namespace

2018-01-03 22:12:33 595 1

原创 [NOI2015]:软件包管理器

传送门 树剖板子题呀。。。。 而且数据好弱。。 我要是在NOI2015该有多好(哭) 2015年有这个题,还有荷马史诗!!! 算了,还是好好刷题吧,总感觉NOI越来越难了,2017感觉超难 洛谷 Rank3,珂怕bzoj Rank14,感觉比洛谷Rank有用

2018-01-03 21:52:56 243

原创 洛谷U17092 score

比赛T1,当时历经千辛万苦终于调出来首先opt1&&opt3很简单 opt1:预处理两个前缀和,直接做就好了 opt3:预处理两个ST表,直接查最大最小就好了 opt2比较不好处理 我们可以想到,其实预期下这个操作出题人顶多出到1e5次左右 所以其实O(nn√)O(n\sqrt n) 的算法也是可以的,所以我们就可以莫队了 具体也很简单,只要开一个100的桶就好了,直接莫队,回答询问的

2018-01-01 20:05:18 208

原创 FFT快速傅里叶

传送门 表示只会抄板子,看了个半懂。。 我因为重载运算符出了点儿问题,调了好久好久…… 贴代码:#include<cstdio>#include<cstring>#include<iostream>#include<cmath>#include<algorithm>#include<cstdlib>using namespace std;inline int read(){

2017-12-26 09:19:40 247

原创 扩展CRT&&扩展lucas

直接上板子,这里没有证明,只是提供一个还不错的板子 扩展CRT:#include<cstdio>#include<cstring>#include<iostream>#include<cmath>#include<algorithm>#include<cstdlib>#define ll long longusing namespace std;inline int read(){

2017-12-22 21:54:42 558

原创 可持久化并查集

传送门1 传送门2 写法和主席树相似,具体我觉得自己YY就可以想出来的 就是用可持久化线段树来修改就好了,还有加上路径压缩和启发式合并 然后也不多说,上代码:(1A,强制在线版)#include<cstdio>#include<cstring>#include<iostream>#include<cmath>#include<algorithm>#include<cstdlib>

2017-12-21 15:56:27 200

原创 指针Splay

传送门 今天突发奇想写了个指针Splay,居然还很神奇地调过了 其实就是按着原来的板子写,然后改成指针罢了 注意要用null代替NULL,不然很有可能RE 具体写法可以看我的代码(虽然是自己YY的,可是还是可以看的吧)#include<cstdio>#include<cstring>#include<iostream>#include<cmath>#include<algorithm

2017-12-21 11:21:03 688

原创 二维树状数组

题目看这里:http://blog.csdn.net/stone41123/article/details/78848061 然后发一张图,对比一下二维树状数组和四分树:(第一个是二维树状数组) 差的真不是一点半点,差距太大了 首先二维树状数组的写法:inline void update(int x,int y){ int tmp=y; while(x<=n){

2017-12-20 15:25:57 237

原创 四分树

1013: 【模板】四分树(二维线段树 / 二维树状数组)时间限制: 4 Sec 内存限制: 512 MB 提交: 4 解决: 2 [提交][状态][讨论版][命题人:stone41123][Edit] [TestData] 题目描述给定一个n*m的矩阵,有q个操作,分为两种,分别为update和sum 对于每一个update,给出(x1,y1)为左上角坐标,(x2,y2)为右下角坐标,

2017-12-19 22:17:33 1545

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除