自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

lemondinosaur的博客

转圈圈 不停转圈圈 然后摔倒

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

原创 #单调队列#洛谷 1090 SSL 1040 VIJOS 1097 CODEVS 1063 合并果子

题目及O(nlog2nnlog2nnlog_2n)做法分析其实我们也可以用O(n)来做,首先来个桶排。 再用一个单调队列存下两个最小值,不断更新。代码#include <cstdio>#include <cctype>using namespace std;short t[20001],l,r,min[2],n,head; int a...

2018-04-21 16:27:26 149

原创 #离散# VIJOS 1237 CODEVS 2765 隐形的翅膀

题目选出两只最小的翅膀,使长度比接近黄金比例。分析我们可以把每一只翅膀都乘上黄金比例,然后快排找出最接近的。代码#include <cstdio>#include <cctype>#include <algorithm>#define gs 0.6

2018-04-21 16:01:04 232

原创 #离散#SSL 1231 VIJOS 1238 容易的网络游戏

题目每台电脑最多只能有一人操作,一个人最多只能操作一台电脑;并且每款游戏最多只能在一台电脑上玩,每台电脑最多运行一个游戏。现在佳佳想知道,假如佳佳共有M台电脑,且佳佳一共叫来了P个同学,最多能得到多少单位的经验。分析离散。 坑点答案开long long共有p+1个人(所以如果你不调整还是会炸掉)挑最小值分析#include <cstdio&g...

2018-04-21 14:55:07 174

原创 2018_4_21 模拟赛

前言:容易AK,很难AK。题目SSL 2402 2403 2405 世界语 蜡烛 巧克力SSl 2404 上学总结:不要被事物的表象所蒙蔽

2018-04-21 14:40:46 122

原创 SSl 2404 上学#线性动态规划#

题目某人至少要花多少钱才能到达学校。分析spfa后,听取WA声一片,所以看了解题报告后发现是dp (而且比深搜慢) 状态转移方程:f[t+1][n]=min(f[i][j]+money[i])f[t+1][n]=min(f[i][j]+money[i])f[t+1][n]=min(f[i][j]+money[i])dp代码#include <cst...

2018-04-21 14:35:15 143

原创 SSL 2402 2403 2405 世界语 蜡烛 巧克力

水题世界语代码(太水,自己体会)#include <cstdio>using namespace std;char s[10][5]={"dek","unu","du","tri","kvar","kvin",&quot

2018-04-21 14:28:39 182

原创 #离散#洛谷 1496 VIJOS 1165 CODEVS 2774 火烧赤壁

题目求一共能烧毁的船只长度。分析其实就是校门外的数进化版,用离散,排序后扫描一遍即可。代码#include <cstdio>#include <cctype>#include <algorithm>u

2018-04-21 08:17:21 211

原创 #离散#SSL 2124 涂色

题目有一根棍子,一开始涂成白色, 由于某种原因这根棍子的某些部分被重新涂过了, 重新涂的颜色可能是黑色或者白色,找出最后最长的白色段。分析离散,分离所有的起始点和终点,匹配到每一个区间时,倒着枚举(有顺序的),求出最大值。代码#include <cstdio>#include <cctype>#include <algo

2018-04-20 20:59:55 156

原创 #离散#VIJOS 1056 图形面积

题目桌面上放了N个平行于坐标轴的矩形,这N个矩形可能有互相覆盖的部分,求它们组成的图形的面积。分析虽然大神说暴力可以过,but我还是老老实实用离散吧。 把它们的横坐标和纵坐标收集起来,依次判断就好了。代码#include <cstdio>#include <cctype>#include <algorithm

2018-04-20 20:40:01 187

原创 #深搜#SSL 1123 火力网 SSL 1124 火力网加强版 ZOJ 1002 Firenet

题目在一个n*n(n<=10n<=10nn<=10n<=10n

2018-04-20 19:42:23 363

原创 #Johnson,贪心#CODEVS 3008 SSL 1423 加工生产调度

题目某工厂收到了n个产品的订单,这n个产品分别在A、B两个车间加工,并且必须先在A车间加工后才可以到B车间加工。 某个产品i在A、B两车间加工的时间分别为Ai、Bi。怎样安排这n个产品的加工顺序,才能使总的加工时间最短。这里所说的加工时间是指:从开始加工第一个产品到最后所有的产品都已在A、B两车间加工完毕的时间。 分析一看这道题就是贪心,问题是怎么贪心。 确定顺序后 伪...

2018-04-19 17:05:51 301

原创 zoj 1654 Place the Robots#匈牙利算法#

题目放置最多的机器人,使它们不相互攻击。分析首先我们可以想到的,是最大独立集(图1)。 ——(图1)—— 只要判断这些空地是否受到影响就可以了。 But 这种效率太低了,所以我们要考虑如何优化图。 (图2)行连通块 (图3)列连通块 如果这些连通块连在一起,那么必然不能放。代码#include <iostream>using n...

2018-04-17 21:17:00 163

原创 poj 2446 Chessboard#匈牙利算法#

题目求2*1的骨牌是否能覆盖棋盘。分析首先,如果抠掉后剩下的块数是奇数,就不会成立。 接着,如果奇数点和偶数点数量不同,也不会成立(留给读者思考) 特判结束后,二分图走起。代码#include <cstdio>#include <cctype>#include <cstring>u

2018-04-17 20:20:03 209

原创 洛谷 1855 榨取kkksc03#二维费用背包#

题目每个人可以浪费掉kkksc03的一些时间的同时消耗掉kkksc03的一些金钱以满足自己的一个愿望,所以他想知道在自己的能力范围内,最多可以完成多少同学的愿望?分析二维费用背包 状态转移方程:f[i+w[i]][j+v[i]]=f[i][j]+1代码#include <cstdio>using namespace std;int m,g,...

2018-04-14 15:52:12 211

原创 2018_4_14 模拟赛

前言:Err,好像不可描述。SSL NO.1-NO.2 数列,蚂蚁SSL NO.3-NO.4 单元格,剪草At lastend

2018-04-14 15:15:35 98

原创 SSL 2393 SSL 2394 单元格 #模拟,动态规划#

比赛单元格题目在一个r*c的矩阵里选择三个点,使它们不在同行或同列,它们任意两点的曼哈顿距离在范围内,求方案数。分析首先对于每次的枚举,都可以转换成6种方式,用一个answer(x)表示8~x的答案 用这种类似前缀和的方式,就可以求出答案,当然我列入dp代码#include <cstdio>#define mod 100000...

2018-04-14 15:12:44 152

原创 SSL 2391 数列 SSL 2392 蚂蚁

比赛注明:水题数列题目给定一个等差数列和等比数列,求一个范围里有多少个符合的数。分析等比的计算由于数据太小,所以模拟就好了。 等差用(b-a)%c+1解决,所以在等比的模拟时需要判重。代码#include <cstdio>using namespace std;long long a,b,c,d,r,ans;int...

2018-04-14 14:48:20 112

原创 SSL 1082 2317 拦截导弹#匈牙利算法#

题目某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统,虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。计算这套系统最多能拦截多少导弹,如果要拦截所有导弹最少要配备多少套这种导弹拦截系统。 分析对于第一个问题,用动态规划 状态转移方程: f[i]=max(f[i],f[j]+1)(i>j且a[i]>=a[j])f[i]=max(f...

2018-04-14 08:29:35 176

原创 SSL 1340 poj 1422 Air Raid 最小路径覆盖#匈牙利算法#

题目定义: 一个不含圈的有向图G中,G的一个路径覆盖是一个其结点不相交的路径集合P,图中的每一个结点仅包含于P中的某一条路径。路径可以从任意结点开始和结束,且长度也为任意值,包括0。请你求任意一个不含圈的有向图G的最小路径覆盖数。分析通过一系列的思考,可以发现 最小路径覆盖数=G的顶点数-最小路径覆盖边数, 而最小路径覆盖边数=最大匹配 匈牙利算法代码#i...

2018-04-14 08:24:22 213 2

原创 VIJOS 1204 CoVH之柯南开锁#匈牙利算法#

题目锁是由M*N个格子组成, 其中某些格子凸起(灰色的格子). 每一次操作可以把某一行或某一列的格子给按下去,求至少要按多少次。分析求最小点覆盖问题,转化为求最大匹配,用匈牙利算法。代码#include <cstdio>#include <cstring>using namespace

2018-04-13 21:39:13 237

原创 poj 3041 SSL 1341 Asteroids#匈牙利算法#

题目大意有m个敌人,一枪只能打掉一行或一列的敌人,求至少要打多少枪。分析我们知道如果想打一个敌人,那么打该行或者该列,所以就想到了最小点覆盖问题。 给定一个二分图,求最小的点数,使得每一条边都至少与一个顶点相邻。 求最小点覆盖问题就是求最大匹配。(匈牙利算法走起)代码#include <cstdio>#include <cctype&a

2018-04-13 21:23:18 145

原创 SSL 1344 Knights#匈牙利算法#

题目求在一个棋盘上放置尽可能多的马,并使他们不互相攻击。分析可以把这个转化成二分图,求最大独立集。 最大独立集=点的数量-最大匹配。 用匈牙利算法,求出最大匹配就可以了。 当然构图是很费时间的。 在1的位置互不影响,所以可以这样划分,建立二分图。代码(邻接表,6192ms6192ms6192ms)#include <cstdio>#...

2018-04-13 20:15:24 173

原创 #并查集#poj 1988 Cube Stacking

题目大意两种操作,把编号为x的那一堆移到编号为y的上方,或求编号为x的积木下方有多少块积木。分析类似于银河星球传说 加权并查集,son表示这一堆的积木数量,dis表示该点到堆顶的距离。 很显然可以求出 answer[x]=son[getf(x)]-dis[x]-1代码#include <cstdio>#include <cctype&g..

2018-04-12 16:19:53 146

原创 poj 1861 Network#最小生成树,kruskal#

题目大意求至少需要多少条电缆,才能连接所有集线器,并且单条电缆的最大长度最小,输出电缆的最大长度,数量,及每条电缆的连接点。分析Kruskal,用并查集,并且记录边的两头。代码#include <cstdio>#include <cctype>#include &

2018-04-11 17:26:54 102

原创 poj 2492 A Bug's Life#并查集#

题目大意某教授认为一种虫子只具有两种性别,他会给你mmm个虫子交配的信息(1—n编号1—n编号1—n编号),当然教授的观点有真有假,希望你去证实。(ttt组数据)分析由于数据比较大,这里采用并查集的方法,因为不知道虫子的性别,所以每种性别都假定,每处理一种关系,如果两个性别的并查集的两条虫子是异性,那么是可以交配的,但是发现它们性别相同,那么教授的观点就是错误的。代码...

2018-04-11 16:23:10 138

原创 2018_4_7 模拟赛

前言:欲哭无泪SSL NO.1~4SSL 2382 k好数(补充)SSL NO.5 序列SSL NO.6 树(线段树)结束语:#-#,无。

2018-04-07 16:20:44 156

原创 #搜索#SSL 2387 树

比赛题目操作一棵树,求任意个节点的值。分析采用线段树的思想,注意儿子们。代码#include <cstdio>#include <cctype>#define maxn 100001using namespace std; int n,m,father[maxn],a[maxn],w[maxn];int i

2018-04-07 16:12:39 110

原创 SSL 2382 k好数(数位dp)

比赛分析其实还可以使用数位dp的方法。 状态转移方程:f[i]=(k+1)i,不受限制时的方案数f[i]=(k+1)i,不受限制时的方案数f[i]=(k+1)^i,不受限制时的方案数 g[i]表示受限制时的方案数(最后减一避免0)g[i]表示受限制时的方案数(最后减一避免0)g[i]表示受限制时的方案数(最后减一避免0) 如果这一位本来超过了限制,那么也就是说只能有k+1种, ...

2018-04-07 16:04:45 167

原创 SSL 2386 序列#线性动态规划#

比赛题目 分析dp,状态转移方程:f[i][j]表示第j位的数字是i的方案f[i][j]表示第j位的数字是i的方案f[i][j]表示第j位的数字是i的方案 f[i][j]+=f[(i的因数)][j−1](逆推)f[i][j]+=f[(i的因数)][j−1](逆推)f[i][j]+=f[(i的因数)][j-1](逆推) f[i∗(1ton/j)][j]+=f[i][...

2018-04-07 15:39:53 159

原创 SSL 1333 地鼠的困境#匈牙利算法#

题目求最少有多少只老鼠被老鹰抓。分析使用匈牙利算法,求出最大匹配,用n减去它就是答案。代码#include <cstdio>#include <cmath>#include <cstring>#define fill(a,b) memset(a,b,sizeof(a))using n

2018-04-07 15:12:02 150

原创 SSL 2382 2383 2384 2385 k好数 睡眠 字符串 猜数

提醒:题目在最后,都是水题。(1)k好数分析:模拟,然后如果要优化。 两种方法: (1)视为k+1进制:请看链接:借鉴 (2)碰到不符合的跳到符合的(我的方法)代码#include <cstdio>using namespace std;int n,m,i=1,ans;int main(){ freopen("knumber.in"

2018-04-07 14:59:18 201

原创 洛谷 1417 烹调方案#01背包,贪心#

题目如果在t时刻完成第i样食材则得到ai-t*bi的美味指数,用第i件食材做饭要花去ci的时间,求最大美味指数。分析如果没有b[i]那么就是赤裸裸的01背包,但是这道题先要判断顺序。 01背包:f[j]=max(f[j],f[j−w[i]]+c[i])f[j]=max(f[j],f[j−w[i]]+c[i])f[j]=\max(f[j],f[j-w[i]]+c[i]) 所以...

2018-04-05 18:45:21 212

原创 SSL 1335 最佳派对#匈牙利算法#

题目求最大匹配分析用匈牙利算法 (1)置M为空 (2)找出一条增广路径P,通过取反操作获得更大的匹配M’代替M (3)重复(2)操作直到找不出增广路径为止代码#include <cstdio>#include <cctype>#include <cstring>using n

2018-04-03 17:16:30 778

原创 SSL 1313 洛谷 2341 POJ 2186 受欢迎的牛 Popular Cows#tarjan#

题目每一头牛的愿望就是变成一头最受欢迎的牛。现在有N头牛,给你M对整数(A,B),表示牛A认为牛B受欢迎。这种关系是具有传递性的,如果A认为B受欢迎,B认为C受欢迎,那么牛A也认为牛C受欢迎。你的任务是求出有多少头牛被所有的牛认为是受欢迎的。分析受欢迎的奶牛只有可能是图中唯一的出度为零的强连通分量中的所有奶牛,所以若出现两个以上出度为0的强连通分量则不存在明星奶牛。(tarja...

2018-04-03 17:06:36 210

空空如也

空空如也

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

TA关注的人

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