自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 bzoj 2435 道路修建

这真的是noi题吗?orz dfs能过的柏神。(我的代码并不能通过,但是是对的)考场上还是老老实实bfs吧 #include#include#include#include#include#define md#define ll long long#define inf (int) 1e9#define eps 1e-8#define N 1000010using namespac

2015-11-16 10:37:38 379

原创 bzoj 1562 变换序列

匈牙利裸题,注意加边的顺序即可 #include#include#include#include#include#define md#define ll long long#define inf (int) 1e9#define eps 1e-8#define N 20010using namespace std;struct yts { int x,t,ne;} e[2*N];int vis[N

2015-11-16 10:37:36 409

原创 bzoj 1509 逃学的小孩

求出树的直径,可以证明那两个同学家一定分别是直径上的两个点。枚举点即可ps 某些大牛说可以两遍bfs求直径,方法是第一遍求任意一个点的最远点,第二遍求这一个点的最远点,就一定是直径。然而我并没有用。#include#include#include#include#include#define md#define ll long long#define inf (int) 1e9#define

2015-11-16 10:37:33 383

原创 bzoj 3728 zarovik 买灯泡

贪心,每个拥有的灯泡去匹配它能供电的最大灯泡,这样就最大化了换每个灯泡的改变值。#include#include#include#include#include#include#define md#define ll long long#define inf (int) 1e9#define eps 1e-8#define N 500010using namespace std;struct cm

2015-11-16 10:37:30 286

原创 bzoj 1061 志愿者招募

明显的线性规划网络流,据说当时考场上就1个人A了?a[i][j]表示第i种志愿者第j天是否工作p[i]表示第i种志愿者的人数sigma(a[i][x]*p[i])>=need[x] 补充函数y[i],则sigma(a[i][x]*p[i])=need[x]+y[x]差分,start[i]表示第i种志愿者开始工作的时间,end[i]表示第i种志愿者结束工作的时间sigma(p[i]*(start

2015-11-16 10:37:28 383

原创 bzoj 4001 概率论

令f[i]表示i个节点的二叉树种数,则f[x]=sigma(i=0->i-1)(f[i]*f[x-i-1])令g[i]表示i个节点的二叉树的各种方案的叶子节点总数和,则g[x]=2*sigma(i=0->x-1)g[i]*f[x-i-1]打表找规律具体的,找f[i]/g[i]的规律,将f[i]/g[i]约分之后通分成分子分母分别单调递增,规律就很显然了。代码没什么可贴的

2015-11-16 10:37:25 356

原创 bzoj 4034 t2

带子树维护的树剖要用dfs序,带子节点维护的树剖要用bfs序,不能再混了!!!#include#include#include#include#include#define md#define ll long long#define inf (int) 1e9#define eps 1e-8#define N 100010using namespace std;struct yts { int x

2015-11-16 10:37:22 293

原创 bzoj 3624 免费道路

第一遍只加水泥路跑kruscal,找出必须修成石子路的。第二遍kruscal把这些修石子路的修好,然后随便修剩下的路,注意随时判断无解的情况#include#include#include#include#include#define md#define ll long long#define inf (int) 1e9#define eps 1e-8#define N 20010#define

2015-11-16 10:37:20 494

原创 bzoj 4029 定价|模拟

直接模拟定价过程,如果这个荒谬程度存在合法解就出解,否则继续枚举#include#include#include#include#include#define md#define ll long long#define inf (int) 1e9#define eps 1e-8#define Nusing namespace std;ll mi[20];int main(){ mi[1]=1; f

2015-11-16 10:37:17 324

原创 bzoj 1034 泡泡堂|贪心

本来一看题上的图片以为是一道大模拟,谁知和泡泡堂一点关系没有加了平局的田忌赛马问题。如果能赢,就用最弱的打最弱的,最强的打最强的,如果都赢不了,就让最弱的去打最强的,能怎么样就怎么样。可以证明这样贪心是对的1、用最弱的去赢最弱的显然没有问题2、用最强的去赢最强的也很好,否则这些也干不了别的3、用最弱的去打最强的,在最强的打最强的之后,留下的是尽量弱的,也就最大化了平局的可能,而

2015-11-16 10:37:14 487

原创 bzoj 1833 数字计数|数位dp

又一类数位dp模板,直接贴代码#include#include#include#include#include#define md#define ll long long#define inf (int) 1e9#define eps 1e-8#define Nusing namespace std;ll mi[20];struct data { ll a[15];} f[20][15];data

2015-11-16 10:37:11 334

原创 bzoj 2823 信号塔|计算几何|随机增量法

经典的最小圆覆盖问题,推公式略恶心。#include#include#include#include#include #define md#define ll long long#define inf (int) 1e9#define eps 1e-6#define N 500010using namespace std;struct point { double x,y;} p[N];int f

2015-11-16 10:37:09 441

原创 bzoj 1112 砖块|中位数|set

首先一个结论是选定的k个高度一定是他们的中位数,证明见白书P6然后我们可以枚举每个区间,用set维护区间中位数。注意multiset的删除操作是把所有这个值的都删去。所以又用了一个map注意查询时如果集合为空的处理p党是怎么想的这道题?#include#include#include#include#include#include#define md#define ll long

2015-11-16 10:37:06 479

原创 bzoj 3687 简单题|bitset

f[i]表示和为i的子集是否有奇数个。那么fbitset好优美 #include#include#include#include#include#include#define md#define ll long long#define inf (int) 1e9#define eps 1e-8#define Nusing namespace std;bitset f;int main(){

2015-11-16 10:37:03 363

原创 bzoj 4010 菜肴制作|拓扑排序|priority_queue|解题思想

使编号小的尽量早制作=>反向序列不到万不得已不写小的数=>a早于b就b向a连边,将入度为0的加入优先队列,编号大的优先出队,得出反向序列。反向寻求答案的思想 #include#include#include#include#include#include#define md#define ll long long#define inf (int) 1e9#define eps 1e-8

2015-11-16 10:37:01 458

原创 bzoj 1029 建筑抢修|贪心|priority_queue

将所有的建筑按照最晚完成时间排序。对于一个建筑,如果当前时间now开始修复能够完成,那么就开始修复,否则找到维修序列中所需时间最大的项目,如果当前项目的修复时间小于那个项目,就将那个项目替换为这个项目。贪心的正确性显然,这样操作会使修复时间最小,也就为修复更多建筑提供了可能复习了一下stl  #include#include#include#include#include#includ

2015-11-16 10:36:58 664

原创 bzoj 1020 安全的航线|计算几何

一道计算几何的神题,复(xue)习了各种计算几何的基础知识先上题解将航线上的每一段线段加入循环队列对于每一个线段l,r,求出到l最近的点p1和到r最近的点p2.在线段l,r内找出和p1,p2长度相等的点p,设所有陆地与p的最近点为p3,那么线段[l,p]和[p,r]的答案不会超过max(len(l,p1),len(p,p3),len(r,p2)),也就是如果这个值小于当前答案的话,线段上任意一点不

2015-11-16 10:36:56 641

原创 bzoj 1026 windy数|数位dp

终于明白数位dp了,就是一个模板,直接贴代码 #include#include#include#include#include#define md#define ll long long#define inf (int) 1e9#define eps 1e-8#define Nusing namespace std;int f[15][15][2];int a[15];char st[15

2015-11-16 10:36:53 378

原创 bzoj 3576 江南乐 |sg函数|根号分块

将x个石子分成m堆=>x%m 堆 x/m+1m-x%m堆 x/m出现了熟悉的x/m,于是想到分块而x%m,m-x%m的奇偶性最多只会有两种,且处在块的第一个第二个,于是乎只要枚举i,i+1的情况即可记忆化搜索会更快啦然而对于每一个sg的计算要单独开一个vis数组。 #include#include#include#include#include #define md#d

2015-11-16 10:36:51 1110

原创 bzoj 1018 堵塞的交通|线段树维护连通性

很久之前听泽神说过这道题,今天终于下定决心写了维护两个横,两个竖,两个斜的连通性h[2],s[2],x[2]。转移如下表(a为左子树,b为右子树,t为目标子树) 查询时要考虑绕了一圈的情况,即[1,l][l,r][r,n]三个区间的连通性最后竟然是close的时候把边赋成了11018: [SHOI2008]堵塞的交通trafficTime Limit: 3 Sec  Memor

2015-11-16 10:36:48 560

原创 第一篇博文,总结这一年的比赛

看到学校里各大神犇 wyw,zzb,dms开了博客之后,蒟蒻我也忍不住了(我会说一个半月前在东营我就想开博客了吗?)    noip2014 ——高中首战 一场上古时期的比赛。那时的我真的好弱,连bird的正解都想不到,还写挂了35分……总体发挥还可以,没什么遗憾的。  sdoi2015 round1 day1:t1 想到正解又把自己否定了,30min+敲完暴力。 看第

2015-11-16 10:36:45 869

空空如也

空空如也

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

TA关注的人

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