自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Dr_Nobody的博客

Dreaming about being A BIG STAR.

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

原创 [Tyvj1655] 游乐园 二分查找

Problem题意:有n(<=1e10)个人,每个人会坐当前空闲的,编号最小的飞机(<=1000),对于第i个飞机,任意人的乘坐时间为si。Analisisn的数量很惊人,不能模拟,所以第一次我考虑从m下手,又怎么做呢? Dp ? 贪心 ? 似乎无从下手。 正解: 可以发现坐飞机的时间是有规律的,那么这就意味着如果确定了时间,可以在O(m)的时间内求出有多少人坐了飞机。那么就二分找到最后一个人上

2017-08-23 22:52:13 344

原创 [BJOI]2010 严格次小生成树

题意:给出一个无向图,求其严格最小生成树(废话) n <= 100000 分析: 一般的做法:在MST上断一条边,再次求MST,取最小的值,最快的速度应该是堆优化Prim算法 O(n^2 log2n),但是在本题中显然会TLE 题目很裸,只能直接看这个模型。 次小的生成树,一定是MST上加了某一条边,形成了一个环,接着再删去某一条边得来的。加的边肯定没有特殊的决策,只好枚举,但是删去的边有玄

2017-08-23 22:42:42 355

原创 [bzoj2239] 猜谜 迭代深搜 or 动态规划

搜索:迭代深搜即可 dp: +和*是两个不同的状态,如果一边考虑加,一边考虑乘,实在麻烦。 不如分开进行考虑。includeincludeincludeusing namespace std;int T , n , Max_dep; int num[25][25]; bool have_ans , have_zero[25] ; string str;void Dfs(int x , i

2017-08-16 22:46:10 354

原创 [BZOJ2157] 旅游 树链剖分

模板题,没什么好说的#include<vector>#include<cstdio>#include<cstring>#include<climits>#include<iostream>#include<algorithm>using namespace std;const int Lim = 150005;int n , m;vector<int> edge[Lim];str

2017-08-16 22:43:22 266

原创 [CEOI2011] balloons 单调栈

靠图分析:对当前圆扩张大小有影响的圆不止一个,是一个序列,而且这个序列满足x递增,r递减。 x的递增是自然的(否则就排序)r用一种数据结构来维护就可以了 但是,难道每次要遍历整个栈? 不难发现(直觉吧)圆怎么膨胀也不会与比他大的那个圆的后一个圆相切,那么靠这个性质来维护单调栈就可以了,严格证明略过吧,应该都会写。 好像还可以用斜率优化来做,维护一个下凸壳之类的双端队列也可以。#include

2017-08-16 22:40:44 516

原创 [bzoj4300] 绝世好题 动态规划

同O(n log2n)Lis的思想,保存更新二进制每一位的可进行更新的最大值/************************************************************** Problem: 4300 User: Gobegobe Language: C++ Result: Accepted Time:188 ms Mem

2017-08-16 22:34:06 329

原创 [HAOI2011][BZOJ2302] problem C 组合数+动态规划

不难发现(其实还是有点)问题的本质是: 一个序列使编号<=i的元素至少有i个的组合数。 可以用位置为阶段,人数为状态,枚举当前阶段的子人数进行转移/************************************************************** Problem: 2302 User: Gobegobe Language: C++ Res

2017-08-16 22:31:52 197

转载 一篇很棒的可持久化线段树(主席树)的引入

可持久化线段树 201505121、前言 线段树,众所周知,在树中的每一个元素中,保存的是线段中的一段,所维护的内容或是最大最小值,或是和等等。可持久化线段树,属于可持久化数据结构中的一种,对于可持久化数据结构这个大知识,我暂时没有去研究,今天只讲其冰山一角。2、概念 先讲”可持久化“的含义

2017-08-13 20:08:04 280

原创 【HAOI2015】T1树形Dp

题意:一棵树,在里面选出k个黑点,剩下的点是白点,使白点之间两两距离之和和黑点之间两两距离之和的和最大 分析:还是图样..一开始想到了点分治,可是树的分治一般处理的是关于树的路径的问题。 后来发现这道题的k明显是一种“资源”,又想到用树上的背包来搞,可是没做出,一直在想两两之间的距离怎么转移… :( 状态显然,F[i][j]为以i为根的子树,选出j个黑点的最大值,考虑这玩意儿是否能转移 如果

2017-08-11 08:10:35 287

原创 【HAOI2015】T2 树状数组

题意:维护一棵树,要求可以支持1:单点权值加,2:以某点为根的子树中的所有点权值加,3:询问某点到根路径上的点权和 分析: 法1:树链剖分,以后来补吧… 法2:线段树 , 与下面的大相径庭 法3:树状数组维护欧拉序列。 差分的思想与Dfs序结合,i点在Dfs序中的位置(进出等价)的前缀和就是i到根的权值和。 对于第一个操作,在In[i]加,Out[i]+1减即可。 第二个操作怎么办呢,

2017-08-11 08:07:46 227

转载 【bzoj3173】[Tjoi2013]最长上升子序列 Treap

原文链接:http://www.cnblogs.com/GXZlegend/p/6856502.html作者:GXZlegend题目描述给定一个序列,初始为空。现在我们将1到N的数字插入到序列中,每次将一个数字插入到一个特定的位置。每插入一个数字,我们都想知道此时最长上升子序列长度是多少?输入第一行一个整数N,表示我们要将1到N插入序列中,接下是N个数字,第

2017-08-10 20:34:50 266

原创 【HNOI2015】菜肴制作 :思想 + 拓扑排序

题意:求一个拓扑序列,保证以1~n的优先级,每个数尽量排在前面分析:显然求字典序最小的拓扑序有问题,字典序列由每个位置的数字决定,可是这里有一个1~n的优先级,就是说尽量要保证1在前,以此类推。如果说一个元素,图中不存在“与它深度相同”的元素的话,那么它在拓扑序列中的位置一定是固定的,那么我们考虑两个深度相同的元素a,b(编号a前面的一句话:字典序列由每个位置的数字决定,这样导致了

2017-08-10 18:53:32 312

空空如也

空空如也

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

TA关注的人

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