自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

2333:jzqjzq的博客专栏

我的新博客:https://jzqjzq.coding.me/欢迎来玩!

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

原创 ZJOI2017二试成功爆炸记

zyy初三dalao二试果然90分 我就是去酱油的。。。day0(4.25) 早上在sxyz机房又做了一题二分图…… 中午草草的吃完饭坐车去余姚话说这司机好好的高速不开要走乡道。。。颠的要死(不过风景还好) 下午2:30到余姚,很快地报到之后直接下榻宾馆 dt好像把电脑忘在车上了,然后……车开回去了233然后下午。。。 …… …… ……(对下午什么也没干。。。) 晚上人家去旁边万

2017-04-29 11:11:33 1674 1

原创 连通块——BZOJ4874 筐子放球

题面:BZOJ4874前天上午ZJOI2017集训讲课的妹子的第一题~ 看看很难的样子。。。 其实呢,把筐子看成点,球当边 然后求一下连通块,含奇数条边的连通块个数即为答案 为什么呢,看这个吧 ——课件里的 对就是这样#include<bits/stdc++.h>using namespace std;int nedge=0,p[400001],nex[400001],head[400001

2017-04-29 08:46:37 739

原创 二分图匹配——BZOJ1433/Luogu2055 [ZJOI2009]假期的宿舍

BZOJ传送门 洛谷传送门 这个题预处理好麻烦啊。。。题面也很绕 先说预处理吧,我们首先转成图,也就是把人和床分开变成二分图 具体怎么处理输入呢? 首先在校不回家的学生向自己的床连一条边, 然后所有人向认识的人里面有床的人的床连边 注意回家的学生要忽略。。。 最后每张床连向超级汇点,超级原点向每个在学校的人(包括学生和朋友)连边 然后就跑二分图匹配啦~

2017-04-25 10:14:36 416

原创 CDQ分治——BZOJ3295/Luogu3157 [CQOI2011]动态逆序对

BZOJ传送门 Luogu传送门 以前一直想用树套树过掉此题,太懒不想写。。。(我不会告诉你我其实是不会树套树做法因为实在太恶心了。。。) 然后呢,现在掌握了新技能以后发现这题就可以很快地过去了 我们可以把删除操作看成倒着加入操作,然后。。。 这题就变成了时间为t时的逆序对数目,我们可以看成一个三维的比较,即a[i].t<=a[j].t,a[i].x < a[j].x,a[i].v >

2017-04-24 11:33:25 228

原创 CDQ分治——BZOJ4553 [Tjoi2016&Heoi2016]序列

传送门 和带三维的关键字最长不降挺像 所以我们可以先搞出所有数的原值,最小值和最大值 然后可以CDQ求解 我们首先l~mid按照最大值排序,mid+1~r按照原值排序(每个排列最多只能改动一个数) 然后计算前面的对后面答案的影响即可 跟LIS差不多,只不过最后一维我们用一个树状数组来维护 最后清空一下(和二维矩阵差不多) 对就是这样,答案记录一下最大值就好了 然后关于树状数组和排序

2017-04-23 20:37:23 470

原创 DP——Luogu2439 [SDOI2005]阶梯教室设备利用

传送门 我们先按结束时间从小到大把演讲排序,然后考虑dp f[i]表示1~i时间能够利用的最长时间 状态转移方程:f[i]=max(f[i-1],f[a[j].begin-1]+a[j].end-a[j].begin+1) 其中j表示结束时间是i的演讲 最后答案是f[a[最后一个].end]#include<bits/stdc++.h>using namespace std;struc

2017-04-23 18:36:29 600

原创 凸包——Luogu2742 [USACO5.1]圈奶牛Fencing the Cows

传送门 二维凸包裸题 还是按照极角排序(可能我的排序方式怪异一点的) 然后开栈用Graham求出凸包周长即可 由于我交到洛谷上的时间正值本题数据出错的时候,我不敢确定我是不是对的。。。 先放着吧,到时候如果有错再改吧#include<bits/stdc++.h>using namespace std;struct ppap{double x,y,dis,j;}a[100001];in

2017-04-21 15:41:11 355

原创 CDQ分治——BZOJ1176 [Balkan2007]Mokia

传送门 纪念我第一个CDQ分治代码(当然调了很久)还有这个很像某手机品牌的题目名称 二位数点但是差值太大树套树MLE+TLE 但是离线很重要,这个时候CDQ分治派上用场了(%%%陈丹琦dalao发明了这个东西) 我们先把所有操作按照x坐标先y坐标后排序(双关键字保平安) 然后区间l,r取mid,计算l~mid的修改对mid+1~r的查询的影响 我的做法是先把编号小于等于mid的换到左边去

2017-04-21 15:22:12 337

原创 贪心?DP?——BZOJ4582/Luogu3143 [USACO16OPEN]钻石收藏家Diamond Collector

题面处处都有 BZOJ4582 洛谷3143 这个已经不知道是贪心还是DP了。。。 首先对钻石进行排序(肯定的),然后记录状态:f[i]表示1~i区间内能够放到一个架子上的最大值,g[i]表示i~n区间内能够放到一个架子上的最大值 那么答案就是max(f[i]+g[i+1) 状态转移:f[i]=max(f[i-1],i-j+1) j表示能够和i放到一个架子上(差值小于等于k)的最远位置 g[i]同理

2017-04-20 09:08:39 427

原创 树状数组——BZOJ3192/Luogu3253 [JLOI2013]删除物品

干脆题面以后用HTML写传送门吧 BZOJ传送门 洛谷传送门 我们可以试一下把两个堆(其实这是个栈)拼起来(栈顶拼栈顶)比如样例拼成:5 4 1 2 7 3 然后把栈顶视为一个指针,每次出栈只要移动指针即可 然后区间弹栈信息我们用树状数组维护一下,移动次数就可以算出来了#include<bits/stdc++.h>using namespace std;typedef long lon

2017-04-19 14:48:12 338

原创 凸包——Luogu1452 Beauty Contest

https://www.luogu.org/problem/show?pid=1452 poj网址:传送门 调了一个下午终于AC了 题目意思呢就是让你求出点对间最长距离 首先要知道的一点是呢,这个点对间最长距离一定在这个图的凸包上面 具体是为什么呢自己意会或者百度一下 因为其实在凸包上的点很少,n^2枚举是可以的啦 所以主要就是求凸包啦 调了很久的Graham总算给我AC了,还有这个

2017-04-18 19:39:58 242

原创 向量叉积——Luogu1355 神秘大三角

https://www.luogu.org/problem/show?pid=1355 这题计算几何面积法很好,但是可以用来练手叉积 这个用文字来解释有点麻烦。。。 首先要知道叉积是个什么东西 向量积,数学中又称外积、叉积,物理中称矢积、叉乘,是一种在向量空间中向量的二元运算。与点积不同,它的运算结果是一个向量而不是一个标量。并且两个向量的叉积与这两个向量和垂直。在计算几何中,叉积的运算

2017-04-18 11:14:32 536 4

原创 图论矩乘——Luogu2233 [HNOI2002] 公交车路线

https://www.luogu.org/problem/show?pid=2233 这个矩阵和floyd很像,可以说就是floyd吧 就是说每条公交车路线为初始矩阵啦~(相邻的点,不过5不要考虑因为到达5停止了的) 他需要n次从1到5,那么矩阵快速幂n-1次就好了 注意是n-1次!!!坑点 输出1到5的即可#include<bits/stdc++.h>using namespace

2017-04-18 08:32:07 791

原创 单调栈——BZOJ1660/Luogu2866 [USACO06NOV]Bad Hair Day

http://www.lydsy.com/JudgeOnline/problem.php?id=1660 https://www.luogu.org/problem/show?pid=2866 单调栈裸题 入栈时与栈顶元素比较,如果栈顶元素小于等于加入的数那就弹出并且加上栈顶元素能够看到的数目(现加入的数的位置-栈顶元素位置-1),直到达到条件后入栈 全部入栈后最后累加还在栈内元素的答案就好

2017-04-17 10:02:51 293

原创 记忆化搜索——BZOJ4562/Luogu3183 [HAOI2016]食物链

http://www.lydsy.com/JudgeOnline/problem.php?id=4562 https://www.luogu.org/problem/show?pid=3183 可以搜索的题嘛。。。 首先找入度为零的点(生产者),从生产者开始向下寻找,直到找到出度为零的点(终极消费者)就算找到一条食物链(生物知识) 但是总不可能一条一条搜下去吧,稳T 我们发现这个状态可以记

2017-04-14 10:40:02 339

原创 单调队列——Luogu3088 [USACO13NOV]Crowded Cows

https://www.luogu.org/problem/show?pid=3088 单调队列的裸题吧(虽然我好像也是第一次自己写出单调队列) 按照位置排序以后直接上两遍单调队列处理出前面和后面分别是否能够达到条件 其他我就不说了吧#include<bits/stdc++.h>using namespace std;struct ppap{ int x,y;}a[100001]

2017-04-14 08:42:34 397

原创 图论——BZOJ4239 巴士走读

http://www.lydsy.com/JudgeOnline/problem.php?id=4239 我们的4.12模拟赛T3 我写了很久又调了很久的spfa最后被硬刚到80分再也上不去了。。。 思路是把每辆车看做点,如果一辆车能换乘另一辆车就连上一条边 代码就不贴了吧(反正也看不懂) 网上看题解发现一种非常神奇的做法 我们维护到达每个点的最迟出发时间d和乘上每辆车的最迟出发时间di

2017-04-13 20:22:21 647

原创 hash——BZOJ4236 JOIOJI

http://www.lydsy.com/JudgeOnline/problem.php?id=4236 我们的4.12模拟赛T2 直接把J个数-O个数还有O个数-I个数用hash存一下历史最早值 如果发现原本hash值已有说明符合答案要求直接求出长度取max即可 map也可以#include<bits/stdc++.h>using namespace std;typedef long

2017-04-13 19:58:51 300

原创 树状数组——BZOJ4240 有趣的家庭菜园

http://www.lydsy.com/JudgeOnline/problem.php?id=4240 我们的4.12模拟赛T1 和找逆序对差不多。。。 把序列变成合唱队形差不多就行了 一开始的想法是直接左边逆序对数和右边正序对数合并找最小 这样只有10分QAQ。。。 正确的思路是直接找数i在前面的逆序对数和后面的正序对数取小累加 用树状数组维护一下,时间复杂度O(nlogn)#in

2017-04-13 19:53:47 267

原创 最小割——BZOJ1001 [BeiJing2006]狼抓兔子

http://www.lydsy.com/JudgeOnline/problem.php?id=1001 啊我还能说什么。。。 dinic网络流直接过了 那个建无向边时两个方向都建边权大小,这个我一开始没注意。。。 也没怎么深究那个转成最短路的东西 其实啊,转成最短路估计比直接暴力打网络流要简单吧。。。#include<bits/stdc++.h>using namespace std;

2017-04-11 20:25:04 389

原创 线段树/莫队——BZOJ1878/Luogu1972 [SDOI2009]HH的项链

http://www.lydsy.com/JudgeOnline/problem.php?id=1878 https://www.luogu.org/problem/show?pid=1972 隔了一段时间用新方法重做此题。。。 这个可以看做离线区间查询问题,一段时间以前,我把这题当做是线段树来做 具体思路:把询问按照右端点从小到大排序,然后一个一个插入 意思是说按照项链的真实情况插入

2017-04-11 08:19:35 383

原创 树套树——BZOJ3196/Luogu3380 二逼平衡树

http://www.lydsy.com/JudgeOnline/problem.php?id=3196 https://www.luogu.org/problem/show?pid=3380 tyvj原题:传送门 这么多乱七八糟的操作,交给平衡树好了 再加上区间,外面套个线段树好了 不过呢,可能我写得太渣了吧,splay一直TLE 没办法,换了个非旋式Treap搞搞掉算了。。。#inc

2017-04-10 10:29:03 335

原创 莫队——BZOJ3289 Mato的文件管理

http://www.lydsy.com/JudgeOnline/problem.php?id=3289 是离线的好开心啊 为什么说开心呢,这种题,碰到离线,就可以莫队了呀 求逆序对嘛,来发树状数组 首先我们可以求出1~i-1区间内比i大的数,然后前缀和搞搞就是啦 接下来交给分块莫队 ps:一开始T了n发找不到问题后来才发现是块搞错了。。。#include<bits/stdc++.h>

2017-04-07 18:49:25 284

原创 堆/平衡树——Luogu1801 黑匣子_NOI导刊2010提高(06)

https://www.luogu.org/problem/show?pid=1801 那个,这个标题一开始我以为是飞机上的黑匣子。。。 进入正题,输出第k小 我们来脑洞大开一下,因为k是递增的,所以过程相当于不可逆 那么我们可以考虑开两个二叉堆,一个小根堆,一个大根堆 我们限制大根堆的大小为k-1(即要求的第k小-1) 每次插入先入大根堆,如果大根堆大小超过k-1,把大根堆顶的数扔

2017-04-07 08:30:05 442

原创 树套树——BZOJ3110/Luogu3332 [ZJOI2013]K大数查询

http://www.lydsy.com/JudgeOnline/problem.php?id=3110 https://www.luogu.org/problem/show?pid=3332 带插入的区间k值啊。。。 这个啊,用主席树我不会做,这个我只会树套树 外层权值线段树,内层区间线段树 把k大改成k小很简单,取反即可哦 然后介绍一下思路 外层修改和查找时的过程等同于找链,类似于

2017-04-06 14:53:41 444 1

原创 主席树——BZOJ3673/BZOJ3674 可持久化并查集(加强版)

http://www.lydsy.com/JudgeOnline/problem.php?id=3674 据说3673因为没有加强版而直接用暴力水掉了? 用主席树可以搞出来一个可持久化数组,然后就可以干很多的事情…… 于是我们可以维护一个可持久化并查集 具体不说了 这里多维护一个深度就好了,其他没啥区别 然后居然没有数据范围?! 然后自己凑一下,大约10^7数组可以过 唉,毒瘤数据结

2017-04-05 21:35:08 492

原创 浅谈主席树和区间第k值

主席树,是一种高级数据结构,是线段树的高级形式 主席树的全名应该叫做可持久化线段树 顾名思义,这种数据结构可以持久化,也即可查询历史记录 至于为什么要把这种数据结构叫做主席树,我就不多说了(我是不会告诉你我其实也不知道啊) 首先声明:本贴中的修改指单点修改我们先来说说主席树的来源吧。 一开始的关于记录历史记录(也就是可持久化)的做法是:建多个线段树分别存储,然后直接找对应的线段树即可 但

2017-04-05 14:46:48 964

原创 二分图匹配——BZOJ1059/Luogu1129 [ZJOI2007]矩阵游戏

http://www.lydsy.com/JudgeOnline/problem.php?id=1059 https://www.luogu.org/problem/show?pid=1129 我们可以很快的把这题转化成二分图匹配 具体我不多说了。。。 然后直接上模板(我发现我以前写的是假的dinic) 具体见前一篇飞行员匹配:http://blog.csdn.net/jzq233jzq/

2017-04-03 21:48:08 303

原创 暴力——BZOJ2241/Luogu2484 [SDOI2011]打地鼠

http://www.lydsy.com/JudgeOnline/problem.php?id=2241 https://daniu.luogu.org/problem/show?pid=2484 暴力模拟即可 我们可以直接枚举r和c,然后暴力按题意判断。。。 再加个附加判断:最优和能够打完全部地鼠 这样居然是能AC的。。。 时间复杂度:额。。。玄学吧 (算了这种水题少刷一点。。。)#

2017-04-03 21:27:51 342

空空如也

空空如也

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

TA关注的人

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