poj1523.SPF(割点模板)

#include <map> #include <set> #include <stack> #include <queue> #include <cmath> #include <ctime> #include <ve...

2015-07-30 20:59:57

阅读数 243

评论数 0

HDU5328.Problem Killer

题解: 首先如果a,b,c是等差数列,且b,c,d也是等差数列,那么a,b,c,d也是等差数列,这个结论等于等比数列也成立,所以只要对于每个i(i+2#include <map> #include <set> #include <stack> #include...

2015-07-30 20:02:31

阅读数 313

评论数 0

HDU5335.Walk Out

如果我们规定这个人只能向下走或者向右走的话,问题会变的简单,二进制长度为n-m+1,然后我们可以一步一步求它每一步走的情况。首先他的二进制第一位一定要为0。 在第一位为0之后一定只会向下或者向右走到终点,因为中间如果向上走或者向左走的话,二进制的位数会增加,大小肯定增大,所以问题的关键是找出从原...

2015-07-30 19:18:36

阅读数 758

评论数 0

HDU5326.Work

签到题,数据也比较小,直接dfs即可。你也可以用你喜欢的任一种方法AC。#include <map> #include <set> #include <stack> #include <queue> #include <cmath> #i...

2015-07-29 14:33:47

阅读数 262

评论数 0

HDU5316.Magician(多校)

题解:注意到本题的子序列实际上可以根据起始数值下标的奇偶性分为四类。对于每一类,如果你熟悉线段树,那么可以看出这个问题是可以进行区间合并的。即如果知道一个区间[L, R]两个子区间 [L,mid], [mid+1,R]的信息,我们可以推出[L,R]的信息。维护四个值,表示起点终点的下标的奇偶性。 ...

2015-07-29 11:59:08

阅读数 497

评论数 0

HDU5319.Painter

类似于模拟题,两个斜的方向都扫描两遍,绿色的既当做红色,也当做蓝色。#include <map> #include <set> #include <stack> #include <queue> #include <cmath> #inc...

2015-07-28 20:36:21

阅读数 319

评论数 0

zoj3886.Nico Number

线段树区间取模,维护一个最大值,如果这个取模的值大于最大值,直接返回,否则继续分段#include<iostream> #include<cstring> #include<cstdio> #include<algorithm> using name...

2015-07-28 20:14:33

阅读数 328

评论数 0

HDU5317.RGCDQ

题解:注意到 F 值很小,用筛法预处理出所有的 F 值,然后再预处理出 f[i][j],表示前 i 个 F 值中有多少个 j。 对于每个询问直接暴力查询区间有多少个 1 2 3 4 5 6 7 即可。#include <map> #include <set> #inclu...

2015-07-28 20:05:57

阅读数 606

评论数 0

ZOJ3882.Help Bob

如果先取的在2-n中取必输,则先取1, 否则则在2-n中取,同时会把1取走,必赢#include<iostream> #include<cstring> #include<cstdio> #include<algorithm> using name...

2015-07-27 21:03:16

阅读数 572

评论数 0

HDU5285.wyh2000 and pupil

如果a不认识b,那么在a,b间连一条边,这样有解当且仅当这张图是二分图。由于可能有多个二分图,而题目要求第一组的人尽可能多,所以贪心的选择即可。要注意m=0和n<=1的情况。#include <map> #include <set> #include <stac...

2015-07-27 17:02:22

阅读数 283

评论数 0

HDU 5313.Bipartite Graph

首先二分图可以分成两类点X和Y, 完全二分图的边数就是|X| * |Y|,我们的目的是max {|X| *|Y|},并且|X| + |Y| = n,开口向下的抛物线,只要求出 X-Y的最小值#include <map> #include <set> #include &l...

2015-07-27 16:12:31

阅读数 286

评论数 0

HDU 5311.Hidden String

#include <map> #include <set> #include <stack> #include <queue> #include <cmath> #include <ctime> #include <ve...

2015-07-27 14:53:39

阅读数 236

评论数 0

HDU5312.Sequence

这个题看上去是一个贪心, 但是这个贪心显然是错的. 事实上这道题目很简单, 先判断1个是否可以, 然后判断2个是否可以. 之后找到最小的k (k > 2)(k>2), 使得(m - k) mod 6 = 0即可.证明如下: 3n(n-1)+1 = 6(n*(n-1)/2),注意到n*(...

2015-07-27 12:50:44

阅读数 211

评论数 0

HDU 1533.Going Home(费用流模板)

#include <map> #include <set> #include <stack> #include <queue> #include <cmath> #include <ctime> #include <ve...

2015-07-25 18:34:10

阅读数 226

评论数 0

hdoj 3605 Escape

数据更新了之后网络流就会超时 首先第一步优化,状态压缩,因为有100000个人,而星球只有10个,所以每个人想去的星球的状态最多1<<10,大约1000过点,所以先统计状态,然后在压缩之后建图是个很大的优化,这个题目也是对网络流数据卡的很严,要用dinci或者sap,而且要假如优化。...

2015-07-25 16:22:40

阅读数 259

评论数 0

3416 Marriage Match IV

//题目意思:给出一个有向图,给出起点和终点,一个人从起点到终点去约会, //每次走的路程要求是最小。没条路不能重复走,问可以走多少次。//思路:如果没限制直接就可以跑最大流了, //加了限制后就是说只有最短路径的边才能走,先求出起点到所有点的最短距离, //然后找出每条边的起点的距离加上边的权值...

2015-07-25 14:56:04

阅读数 425

评论数 0

HDU2883.kebab

//因为时间的开始结束范围跨度较大,所以离散化 #include <map> #include <set> #include <stack> #include <queue> #include <cmath> #include <c...

2015-07-25 14:43:57

阅读数 267

评论数 0

HDU1565 方格取数(1) 网络流

//将问题转化为最小割,首先采用奇偶建立二分图, //最大点独立集=总权-最小点权覆盖集 //二分图最小点权覆盖:从x或y中选取一些点,使这些点覆盖所有的边, //并且选出来的点权值和最小 #include <map> #include <set> #include <...

2015-07-25 14:32:48

阅读数 528

评论数 0

poj2342.Anniversary party(树形dp)

#include <map> #include <set> #include <stack> #include <queue> #include <cmath> #include <ctime> #include <ve...

2015-07-24 20:55:58

阅读数 248

评论数 0

树的重心

#include <map> #include <set> #include <stack> #include <queue> #include <cmath> #include <ctime> #include <ve...

2015-07-24 20:52:48

阅读数 266

评论数 0

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