自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 收藏
  • 关注

原创 BZOJ 1455: 罗马游戏 左偏树 or pb_ds

这道题看到支持合并操作就知道是启发式合并,就去学了一下左偏树,左偏树,顾名思义就是树是向左偏的,实质上是一个堆,我们只需对一个节点维护一个权值,这个权值等于其右儿子的权值加一,一旦发现左儿子的该权值比右儿子小就交换左右儿子,这样就能保证树的左偏性,当合并两颗左偏树的时候,我们先找出根节点权值较小的一个,然后将另一个插入到其右节点即可,并在回溯的过程中维护一下左偏性,这个过程虽然看起来比较麻烦,但是实

2017-01-19 22:54:29 607

原创 BZOJ 2820 YY的GCD 莫比乌斯反演

由于这道题比较鬼畜,而且公式巨难打出,所以我粘了两页PoPoQQQ的PPT orz,并对其中一些部分解释一下 最下面的公式就是换了一种枚举的方式,其中u括号里的东西就是把d变成T/p,其中p|T的条件只要带回到原表达式中即可理解。 这里注意这里的每个前缀和代表的意义是对于每一个T满足条件的Σu之和。 下面附上我的代码#include<cstdio>#include<cstdlib>

2017-01-19 22:31:41 294

原创 BZOJ2301: [HAOI2011]Problem b 莫比乌斯反演+容斥原理

第一次写莫比乌斯反演,感觉这个东西真的神奇,之前就因为使用莫比乌斯函数做容斥原理就久闻莫比乌斯反演大名,今日终于大概搞懂了莫比乌斯反演,其实说白了就是两个函数满足如下条件时 有如下反演存在 这个式子就叫做莫比乌斯反演,其中u为莫比乌斯函数。 这只是一种最常用的表示的方法,还有一种表示方法在信息学竞赛中更为常用,其形式如下 这道题用到的即为这种表示方法,让我们来看看莫比乌斯反演是如

2017-01-19 22:14:10 508

原创 1.18 NOI省选模拟赛 响子 千秋 千纱

首先吐槽一下这题目名称是什么鬼。。。。 这次的题相比上一次的简单多了(上一次的模拟赛我还没有改完,等改完了再发上一次的模拟赛)。 prob 1: 【题目描述】 求[1,n]中有多少个数x满足∃y>0,k>1使得x=y^k。 【输入格式】 一行一个整数n。 【输出格式】 一行一个整数代表答案。 【样例输入】 10 【样例输出】 4 【样例解释】 1、4、8、9。 【数据范

2017-01-18 16:43:12 696

原创 BZOJ 3832: [Poi2014]Rally拓扑排序

这道题真的是神思路,不看题解真的是做不出来,我们这样想,我们首先看得出这是一个拓扑图,但是由于拓扑图可能有多个起点和重点,我们搞一个超级源点和超级汇点,这样答案就变成了超级源点到超级汇点的最长路。我们将这个拓扑图分成两个集合,那么这两个集合之间的连边就一定包括当前图的最大路径(因为这条路径必跨越两个集合),那么我们只要维护这两个集合就可以了。我们可以先预处理出来一个f数组和一个g数组,分别代表一个点

2017-01-16 22:19:03 420

原创 BZOJ 3450: Tyvj1952 Easy 期望DP

一道期望DP入门题,我们维护两个数组,一个是len数组,代表到达第i位期望连续长度为多少,len数组相当好维护,如果这位是o,那么len[i]=len[i-1]+1,如果这位是x,那么len[i]=0,如果这位是?那么len[i]就等于上述两种情况的值加和除以2,然后我们再维护一个ans数组,代表达到第i位的期望得分是多少,这个数组的维护也很显然,如果这位是o,那么ans[i]=ans[i-1]+2

2017-01-16 21:37:50 397

原创 BZOJ 2527: [Poi2011]Meteors 整体二分

题目大意:给定一个环,环上每个位置有一个国家的基地,每次流星雨会让一段区间每个收获到一个数值的收益,给定每个国家的需要收益总数,求出每个国家最早在第几次流星雨之后能获得要求的收益。 题解:这道题有好多个国家都要求出答案,而且每个国家的答案都具有单调性,所以我们想到了整体二分,不过最变态的是时间复杂度的证明,我们首先要将给定区间每个国家都扫一遍所有领土上的收益之和,然后相加,看上去很大的样子,但是我

2017-01-16 21:29:52 494

原创 POJ 2187Beauty Contest旋转卡壳

题目大意:给定平面上n个点,求最远的两个点的距离的平方。 旋转卡壳裸题,第一次写旋转卡壳,好鸡冻,得到的教训是斜率一定要注意INF和-INF的区别(因为这个是向量),顺便说一下旋转卡壳的做法,我们先求出一个凸包,然后在上凸壳和下凸壳一块扫,先让上凸壳跑到下一条线,再看下凸壳是否也应该跑到下一条线(感觉表达力吃鸡),总之扫一遍就好了,然后对于每个卡到的点对求一边距离的平方,就完事了。#include

2017-01-16 20:30:23 412

原创 BZOJ 2618: [Cqoi2006]凸多边形

真●半平面交,半平面交模板题,按照题目描述将每个多边形拆分成n个向量,我们规定向量的左侧为其指定的区域,参照了Po姐的写法,因为双端队列实在是不好搞,我们先在一个方向加线,然后再在最后删队首队尾,值得注意的是用向量求交点和用向量判断一个点是否在这条向量的左面。#include<cstdio>#include<cstdlib>#include<cstring>#include<string>#

2017-01-12 10:23:19 386

原创 BZOJ 1007: [HNOI2008]水平可见直线

这题应该可以算是一道半平面交的入门铺垫题(阉割版),因为每条直线确定的平面都位于其上方,所以免去了向量的麻烦。具体方法就是先按照斜率排序,判断新加入的直线与栈顶直线交点是否在之前的栈顶与栈顶下面的直线交点的左侧,如果在左侧就弹掉栈顶。多条斜率相同的直线则取b最大的一个。#include<cstdio>#include<cstdlib>#include<cstring>#include<stri

2017-01-12 10:13:10 391

原创 poj 1201 Intervals 差分约束

真 .读题杀,英文题一脸懵逼,看来以后还要多读读英文题,不过读完了就能发现这其实是一道很裸的差分约束,按照题意建边即可,但还要注意的就是后一个要大于等于前一个,并且每个位置不能超过一个元素。求一边最大流即可。#include<cstdio>#include<cstdlib>#include<cmath>#include<ctime>#include<iostream>#include<io

2017-01-12 09:48:05 333

原创 BZOJ 2330: [SCOI2011]糖果

第一次写差分约束,收获很多,首先我们表示一个人一定要比另一个人少只需要从这个人向另一个人连一条边权为1的边,小于等于就连一条边权为0的边,等于就连两条,但是为什么求最小值却要求最大流呢?因为我们可以想象一下我们规定的这些限制条件在最小流时可能并不能得到满足(模拟一下便知)只有当求最大流时能满足所有限制条件得到一组可行解,因为我们没连没有用的其他边,所以这也是满足所有条件的最小值,然后题目中还有一个条

2017-01-12 09:26:50 330

原创 BZOJ 2194: 快速傅立叶之二

这道题体现了快速傅里叶变换最重要的应用:求卷积。所谓卷积根本没有必要去看百度上那晦涩难懂的定义,只要拿多项式联想一下就好了,我们求快速傅里叶变换实际上就是求出了两个多项式相乘之后对应次数未知数的系数,这就叫做两个多项式的卷积,那么什么样的多项式能用的上卷积呢,就是要求的东西下标相加之后为定值,用FFT求完之后的结果就是每一个定值的系数。就像这道题,虽然i+i-k并不是一个定值,但是如果我们将a数组倒

2017-01-12 09:09:03 532

原创 BZOJ 2179: FFT快速傅立叶

快速傅里叶变换裸体,总结一下快速傅里叶变换的核心思想。 首先我们要搞明白的就是快速傅里叶变换的思想就是先将一个多项式转化为点-值表达式(DFT),然后再将点值表达式逆变换为多项式(IDFT),快速傅里叶变换就是用来优化这个过程的,就是让我们快速求出来一个点值表达式,然后再快速的变换回去。那么我们看如何做。首先我们要带入一些x才能解出y得到点值表达式,那么我们就要想一些合适的x能快速的计算,这里我们

2017-01-12 08:58:21 614

原创 BZOJ 3932: [CQOI2015]任务查询系统

一道可持久化线段树裸题,搞出来每一个位置的权值线段树然后正常查找就行了。#include<cstdio>#include<cstdlib>#include<cstring>#include<string>#include<iostream>#include<iomanip>#include<ctime>#include<cmath>#include<algorithm>using

2017-01-05 19:43:25 429

原创 【网络流24题】骑士共存问题

(网络流24题大多需要spj,所以需要一个有spj的oj,本系列代码均在www.oj.swust.edu.cn测试通过) 这道题一看到不能共存就知道肯定是最小割了,然后就是怎么建图的问题了,题目良心,给出了一个图,这个图已经染了色,我们可以清楚地看到按照图中的方式染色的话,一个骑士能攻击到的其他位置必定和其所在点的颜色不同,所以按照这个图的方式染色,若左面的点会攻击到右面的点,则向能攻击到的点都

2017-01-05 19:18:33 583

原创 【网络流24题】火星探险问题

由于这道题的输出太过庞大而且之前提供的oj也没有spj,无法验证代码正确性,所以这道题仅提供思路,就不附代码了,这道题其实和之前几道网格题是挺像的,只不过这道题有的地方有石头,有的地方没有石头,有的地方还不能走,那么我们就像之前的那样建图,把一个点拆分成两个点,每两个点之间连一条INF,费用为0的边,如果一个点有石头就多开出一条容量为1,费用为1的边,这样跑出最大费用最大流再在残量网络中找一找路径就

2017-01-05 19:12:40 948

原创 【网络流24题】最长k可重线段集问题(未解决)

这道题好多题解都说同上一题,可是这道题真的不一样啊(捂脸熊) 这题和上一题最大的不同就是这道题有一种线段叫做垂直x轴的线段,也就是有自环的存在,正常费用流在加流的时候也会造成死循环,但是后者可以解决,就是去掉from数组,而是把from信息加在边上,但是前者实在想不到怎么解决,希望会的人可以提出来。

2017-01-05 19:03:03 713

原创 【网络流24题】最长k可重区间集问题

(网络流24题大多需要spj,所以需要一个有spj的oj,本系列代码均在www.oj.swust.edu.cn测试通过) 这道题可以说是经典中的经典了,我们可以这样想,由于要求包含一个点的区间最多不超过k个,那么我们就可以只给这个序列k的流量,一旦选择了一条线段就在这条线段的区间范围内减少一点流量,这样就能保证没有任何一点上面的区间会超过k个,那么具体怎么实现呢,由于我们不清楚区间的大小,所以我们

2017-01-05 17:56:43 723

原创 【网络流24题】深海机器人问题

(网络流24题大多需要spj,所以需要一个有spj的oj,本系列代码均在www.oj.swust.edu.cn测试通过) 这道题其实和数字梯形的第三个规律挺像的(点和路径均可重合),唯一的差别就是这道题的路径权值只能计算一次,那怎么办呢,其实不难,我们只要将容量为INF的边的权值修改为0,在此基础上再加一条容量为1,权值为给定权值的边即可。跑一边最大费用最大流就可以啦。#include<cstdi

2017-01-05 17:49:40 378

原创 【网络流24题】负载平衡问题

(网络流24题大多需要spj,所以需要一个有spj的oj,本系列代码均在www.oj.swust.edu.cn测试通过) 这题的思路挺好的,就是说我们可以看得出来数值高于平均数和数值低于平均数是对立的状态,所以借助这种关系把这个环拆分成两半,左边的由源点向其链接一条容量为与平均值之差费用为0的流,右边的点则向汇点连,原环中相邻的点之间链接一条容量为INF,费用为1的流,这样跑一边最小费用最大流即可

2017-01-05 17:44:07 487

原创 【网络流24题】分配问题

(网络流24题大多需要spj,所以需要一个有spj的oj,本系列代码均在www.oj.swust.edu.cn测试通过) 也是一道相当裸的网络流,自己看代码吧#include<cstdio>#include<cstdlib>#include<ctime>#include<cmath>#include<cstring>#include<string>#include<iostream>

2017-01-05 17:38:40 522

原创 【网络流24题】运输问题

(网络流24题大多需要spj,所以需要一个有spj的oj,本系列代码均在www.oj.swust.edu.cn测试通过) 非常裸的一道费用流,只不过要跑一遍最大流一遍最小流,所以这里就不赘述了,看代码吧。#include<cstdio>#include<cstdlib>#include<ctime>#include<cmath>#include<cstring>#include<stri

2017-01-05 17:37:06 313

原创 【网络流24题】数字梯形问题

(网络流24题大多需要spj,所以需要一个有spj的oj,本系列代码均在www.oj.swust.edu.cn测试通过) 这绝对是我见过最不要脸的网络流了,一道题竟然赤裸裸的让你建三个图,算了,还是耐着性子把它做完了。 我们首先要想明白的问题就是如果两条路径没有任何公共点,那么这两条路径一定不会相交,因为这道题的路径是定义在点之上的,当且仅当两条路径包含两个相同的且上下相邻的点时两条路径才有公共

2017-01-05 17:33:59 708

原创 【网络流24题】汽车加油行驶问题

(网络流24题大多需要spj,所以需要一个有spj的oj,本系列代码均在www.oj.swust.edu.cn测试通过) 不知道为什么回混进来这么多奇怪的问题,老子的网络流呢? 这道题只要把搞一个状态f[i][j][k]表示坐标为(i,j)的点剩余油量为k,按照题目描述跑一边最短路即可。 唉,不含加油费活生生让我看成了不用加油费,读题杀要死人啊。#include<cstdio>#includ

2017-01-05 17:20:00 507

原创 【网络流24题】孤岛营救问题

(网络流24题大多需要spj,所以需要一个有spj的oj,本系列代码均在www.oj.swust.edu.cn测试通过) 又是一道混进来的奇奇怪怪的东西,想起来以前做过这道题,用的是bfs,所以就不想写了,附上之前的代码。#include<cstdio>#include<cstdlib>#include<iostream>#include<iomanip>#include<cstring

2017-01-05 17:13:38 639

原创 【网络流24题】星际转移问题

(网络流24题大多需要spj,所以需要一个有spj的oj,本系列代码均在www.oj.swust.edu.cn测试通过) 这是我最想吐槽的一道题,至于为什么请把PDF的样例或者网站上的样例粘贴到文档中认真观看最后一个-1 -_- 网络流没写错,竟然被卡输入了。。。(捂脸熊) 这道题我们可以看得出天与天之间是独立的,而且每次状态的转移都是跨天的,所以我们可以将每一天拆分来看,(据说这叫分层图

2017-01-05 17:09:37 841

原创 【网络流24题】软件补丁问题

(网络流24题大多需要spj,所以需要一个有spj的oj,本系列代码均在www.oj.swust.edu.cn测试通过) 不知道为什么会有这种奇怪的东西混进我的网络流,但既然出现了就写一下吧,大体思路就是用二进制表示状态,然后每个状态可以转移到另一个状态,求一个最短路即可。 TMD我F1和F2看反了,读题杀真是没救了。#include<cstdio>#include<cstdlib>#in

2017-01-05 16:53:23 982

原创 【网络流24题】航空路线问题

(网络流24题大多需要spj,所以需要一个有spj的oj,本系列代码均在www.oj.swust.edu.cn测试通过) 这道题我们首先要想明白的是飞机往返飞两次其实等价于两架飞机走一次,只要两架飞机的路线除出发点和结束点以外不重合即可。那么我们只要将每个点拆分成两个点,点与点之间连一条容量为1,起始点和汇点的容量为2的流即可。个人觉得最难的还是输出路径的问题,我用的方法是重新检索图中的边查看哪

2017-01-05 16:47:09 1225

原创 【网络流24题】餐巾计划问题

(网络流24题大多需要spj,所以需要一个有spj的oj,本系列代码均在www.oj.swust.edu.cn测试通过) 这道题是一道很经典的网络流问题,我们可以发现餐巾的状态转移要么是在今天洗掉,要么是留到下一天洗掉,洗掉之后就变成可用的餐巾,那么我们只要把每天新产生的旧餐巾和每天需要用的新餐巾分开来看我们就能够得到一个单向的网络流的图,这样就可以完成这道题了。我们设x.a为第x天用出来的旧餐

2017-01-05 16:38:36 414

原创 【网络流24题】方格取数问题

(网络流24题大多需要spj,所以需要一个有spj的oj,本系列代码均在www.oj.swust.edu.cn测试通过) 这道题我认为精髓就是将整个棋盘染色,使得相邻的两个格子染色不同,相信说到这里大家都知道怎么染了,就像很多地砖的染色一样,使得染色相间分布,这样一个棋盘就变成了一个二分图,一个格子和相邻的四个格子链接一条INF,每个格子向两边链接一条数字大小的边,跑一边最小割就行了。#incl

2017-01-04 07:07:59 504

原创 【NOIP 模拟赛】平均数 涂色游戏 序列题解

吐槽(完跪):神tmNOIP模拟赛,看到大题头根本高级数据结构什么的想都没想,结果死的很惨,第三题竟然要可持久化线段树,这NOIP我服了。 平均数: 这道题40分相信大家都能拿到,剩下的60分讲真考验思维,首先我们要二分出一个答案,然后关键是怎么检验答案的可行性,首先这数据范围我们肯定是要用nlogn的算法了,可是怎么做呢?树状数组?不可能!因为是小数,况且也没有办法用上树状数组。。。等等,真的

2017-01-03 21:28:54 544

原创 【网络流24题】试题库问题

(网络流24题大多需要spj,所以需要一个有spj的oj,本系列代码均在www.oj.swust.edu.cn测试通过) 这道题的模型很显然,源点向每个试卷连接一条容量为1的边,每个试卷向对应的类型连接一条容量为一的边,每个类型向汇点连接一条容量为需要数量的边,跑一边最大流即可。#include<cstdio>#include<cstdlib>#include<iostream>#incl

2017-01-03 07:02:36 439 1

原创 【网络流24题】最长递增子序列问题

(网络流24题大多需要spj,所以需要一个有spj的oj,本系列代码均在www.oj.swust.edu.cn测试通过) 这道题据说在codeforces上的数据变成了最长不降,但是本文附上的oj没有这种情况。 这道题的题意就是求出最长上升序列长度,然后每个数只能取一个的情况下最多有多少种方案能取出这么长的序列,第一个数和最后一个数无限多的时候能取出多少个。 首先第一问dp就可以了,而且数据

2017-01-02 20:59:53 975

原创 【网络流24题】圆桌问题

(网络流24题大多需要spj,所以需要一个有spj的oj,本系列代码均在www.oj.swust.edu.cn测试通过) 这道题的模型应该是有一种专业名称的,但是那都没用,思路才是最关键的。 我们从源点向每一个公司连接一条容量为公司人数的边,然后每个公司向所有餐桌连一条容量为1得边,每个餐桌向汇点连一条容量为餐桌人数上限的边,这样跑一边最大流,如果最大流等于所有公司的总人数之和,证明有解,反之无

2017-01-02 20:46:19 313

原创 【网络流24题】魔术球问题

(网络流24题大多需要spj,所以需要一个有spj的oj,本系列代码均在www.oj.swust.edu.cn测试通过) 这道题真是一道好题! 我们可以这样想,每加入一个数就枚举这个数可以和哪几个数相互组合,这样的话我们就可以把问题转化为一个最小路径覆盖问题,算出最少需要几根柱子才能放满这几个数,显然答案具有单调性,但是这题比较特殊,二分会增大时间复杂度,相反,如果每次我们将答案增加一,在原先

2017-01-02 20:41:54 359

原创 【网络流24题】最小路径覆盖问题

(网络流24题大多需要spj,所以需要一个有spj的oj,本系列代码均在www.oj.swust.edu.cn测试通过) 这道题是一道经典的求一个有向无环图的最小路径覆盖,具体做法就是将一个点拆分为两个点然后跑二分图最大匹配即可,最后的答案就是总点数减去最大匹配数,同理,由于隶属于网络流24题采用网络流写法。 输出路径则只需要判断流过的流连边即可#include<cstdio>#include

2017-01-02 20:33:19 333

原创 【网络流24题】太空飞行计划问题

(网络流24题大多需要spj,所以需要一个有spj的oj,本系列代码均在www.oj.swust.edu.cn测试通过) 最大权闭合子图裸题,先将所有收益加起来,源点向每个方案连接一条收益的流,每个方案向对应需要的仪器连一条INF,每个仪器向汇点连一条花费的流。 输出方案只需要在最后的阻塞流中看还剩哪几个点就好了#include<cstdio>#include<cstdlib>#includ

2017-01-02 20:15:48 356

原创 【网络流24题】1.飞行员配对方案问题

二分图匹配问题,因为隶属于网络流24题,就用网络流写一下。 从源点向每个外籍飞行员连一条容量为1的流,每个外籍飞行员向可以配合的英国飞行员连一条容量为1的流,每个英国飞行员向汇点连一条容量为1的流,跑一边最大流即可。 (网络流24题大多需要spj,所以需要一个有spj的oj,本系列代码均在www.oj.swust.edu.cn测试通过)#include<cstdio>#include<cstd

2017-01-02 20:10:43 311

原创 BZOJ4514 [Sdoi2016]数字配对

一道费用流好题,因为跑费用流的时候每次选择的都是最大的流,所以在ans刚刚要小于零的时候统计出答案即可#include<cstdio>#include<cstdlib>#include<cstring>#include<string>#include<iostream>#include<iomanip>#include<ctime>#include<cmath>#include<al

2017-01-01 19:51:19 269

空空如也

空空如也

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

TA关注的人

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