- 博客(201)
- 资源 (10)
- 收藏
- 关注
原创 HDU 4539 郑厂长系列故事――排兵布阵 状压dp
题目链接:https://vjudge.net/contest/159644#problem/H题意:注意 是曼哈顿距离恰好是2,恰好!!!题解:与poj1185差不多的… 滚动数组,否则MLE,是我MLE了…代码:#include <bits/stdc++.h>using namespace std;typedef long long ll;#define MS(a) memset(a,0
2017-04-21 22:08:21
461
原创 POJ 2411 Mondriaan's Dream 状压dp
题目链接:https://vjudge.net/contest/159644#problem/G题意:用1*2的砖去恰好铺满n*m的空间,有多少种方法题解:http://blog.youkuaiyun.com/xingyeyongheng/article/details/21692655代码:#include <iostream>#include <cstdio>#include <cstring>usi
2017-04-21 22:00:35
408
原创 zoj3471 Most Powerful 状压dp
题目链接:https://vjudge.net/contest/159644#problem/F题意:研究人员发现有N个原子两两组合会发生反应产生能量,且其中一个会被和谐掉,给出一个矩阵map,其中map[i][j]表示原子i与j发生反应且原子j被和谐掉所释放的能量,问给定的n个原子反应最多能产生多少能量。题解:dp[sta]:=第i位为1表示第i个原子被和谐了,所得到的最大能量 则最后的答案就是
2017-04-21 21:45:57
407
原创 POJ 2288 Islands and Bridges 状压DP
题目链接:https://vjudge.net/contest/159644#problem/E题意:有n个点,每个点都有一个价值,无论从哪个点走,要求每个点只能走一次【哈密顿通路】,求出怎么走使得到的价值最大,且求出最大价值的路有多少条。假设有4个点,它的最大走法是1–>4–>2–>3,且1,4,2三点可以形成三角形,4,2,3也可以形成三角形,那么最大价值为:v[1]+v[4]+v[2]+v[3
2017-04-21 21:40:25
386
原创 hdu 3001 Travelling (状态压缩dp,三进制!)
题目链接:https://vjudge.net/contest/159644#problem/D题意:n个点,给出m条边,每条边有一个边权,每个顶点可以走两次 问走遍所有点的最小花费题解:http://www.cnblogs.com/martinue/p/5490432.html 对于状态S,第i位为1表示已经走过 dp[S][v]:=在S这个状态,走到v所用的花费 转移: dp[i+th
2017-04-21 21:26:36
578
原创 POJ 3311 Hie with the Pie Floyd+状压dp
题目链接:https://vjudge.net/contest/159644#problem/C题意:有N个城市(1~N)和一个PIZZA店(0),要求一条回路,从0出发,又回到0,而且距离最短 题解:TSP问题: 挑战上面P193 首先floyd求出两点之间的最短路 然后状压, 对于状态S,第i位为1表示已经走过 dp[S][v]:=当前状态为S,在v这个点上,访问剩余没有访问的所有点(S
2017-04-21 21:04:03
317
原创 poj1185 炮兵阵地 状压dp
题目链接:https://vjudge.net/contest/159644#problem/B题意:在一个N*M的矩阵上布置炮兵部队,只有平原可以布置,然后每个炮兵部队都有一个攻击范围,它能够攻击到的区域:沿横向左右各两格,沿纵向上下各两格。 问最多可以安排几个炮兵题解:http://www.cnblogs.com/buptLizer/archive/2012/08/23/2651881.htm
2017-04-21 20:43:03
289
原创 poj 3254 Corn Fields 状压dp
题目链接:https://vjudge.net/contest/159644#problem/A题意:给出一个n行m列的草地,1表示肥沃,0表示贫瘠,现在要把一些牛放在肥沃的草地上,但是要求所有牛不能相邻,问你有多少种放法。题解:http://blog.youkuaiyun.com/y990041769/article/details/24658419 状压dp dp[i][j]:=考虑到第i行,状态为
2017-04-21 20:28:48
265
原创 poj 1330 Nearest Common Ancestors LCA/DFS
题目链接:http://poj.org/problem?id=1330题意:求出两点间的最近公共祖先。题解:第一种: 并查集维护:http://www.cnblogs.com/procedure2012/archive/2012/01/29/2331468.html 利用并查集在每次对子树进行遍历时进行合并,因为对以x为根的子树的遍历时只有当x的所有子树都遍历过后才会把它合并到他父亲的集合里,所
2017-04-11 23:58:19
260
原创 poj1182 食物链 带权并查集 偏移量
题目链接:http://poj.org/problem?id=1182题意:题解:大牛题解:http://blog.youkuaiyun.com/niushuai666/article/details/6981689 合并: d-1是偏移量,ra->rb, ra作为rb的父亲,注意方向【箭头是把右边合并到左边】 向量的思想: if(ra!=rb)不在一个集合里,合并 fa[rb]=ra,还需要更新r[r
2017-04-11 16:10:52
362
原创 ural 1019. Line Painting 线段树 离散化
题目链接:http://acm.timus.ru/problem.aspx?space=1&num=1019题意:初始0~1e9都染成白色,[l,r]染成w/b, 是开区间。 样例: 4 1 999999997 b 40 300 w 300 634 w 43 47 b 输出 47 634 题解:类比上一篇博客,不同的是开区间 还是那组样例 2 0 3 b 4 9999999
2017-03-25 23:54:24
327
原创 zoj 2301 || hdu 1199 Color the Ball 线段树 离散化
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=1301题意:[l,r],染成w/b, 初始全为b,问最长段的w题解:因为N小于2000,染色范围可以到2^31,所以要离散化http://blog.youkuaiyun.com/zxy_snow/article/details/6639878 其实这题的意思是 染色区间【闭区间】
2017-03-25 23:29:19
677
原创 poj 1195 Mobile phones 二维树状数组
题目链接:http://poj.org/problem?id=1195题意:S*S的矩阵,两种操作 1 x y a, 在点(x,y)上加a 2 lx ly rx ry, 求矩形lx题解:二维树状数组。代码:#include <iostream>#include <cstdio>#include <cstring>using namespace std;typedef long long
2017-03-24 21:18:28
289
原创 poj 2155 Matrix 二维树状数组
题目链接:http://poj.org/problem?id=2155题意:给出N*N的矩阵,初始为0。 给出矩阵左上角和右下角坐标,这个面积范围里的元素 1变0 ,0 变1,然后给出询问,问某个点是多少。题解:http://blog.youkuaiyun.com/zxy_snow/article/details/6264135 我们将1变0,0变1转变为将这一块面积翻转几次,奇数次就是1,偶数次就是0。
2017-03-24 21:11:55
265
原创 poj3067 Japan 树状数组 逆序数
题目链接:http://poj.org/problem?id=3067题意:日本有N个城市在东边,从北至南编号为1 2 3,,,N,M个城市在西边,从北至南编号为1 2 ,,,,M,K条高速公路将被建造高速公路的一端在西边,一端在东边输入有多组样例,每组样例第一行为n m k接下来有k行,分别为高速公路的端点求高速公路的交点有多少个,不包括以城市为相交点题解:对Ax,Ay和Bx,By两条高速公路,有
2017-03-24 20:56:46
320
原创 poj 2299 Ultra-QuickSort 树状数组求逆序数 离散化
题目链接:http://poj.org/problem?id=2299题意:求逆序数题解:树状数组可以求逆序数 但是数据50w,所以要离散化。 归并也可做:http://blog.youkuaiyun.com/zxy_snow/article/details/6257561 这位大牛不知道什么叫离散化 写出了离散化 Orz “就排下序,重新编数,这个据说叫离散化 = =”另外一种离散化方式吧 ( 其实就是
2017-03-24 20:50:17
376
原创 poj 2352 Stars 树状数组
题目链接:http://poj.org/problem?id=2352题意:给你一系列点(按y递增,x递增排列),level[X] 指的是 在当前点的左下方 包括自己 的点数为X 的这些点的个数。题解:树状数组 y递增,不管y,只要维护x就行了 读入一个点,找到比他小的点的个数,也就是他的等级,然后将这个等级的点的个数加一即可代码:#include <iostream>#include <cs
2017-03-24 20:28:05
249
原创 poj 2029 Get Many Persimmon Trees 二维树状数组
题目链接:http://poj.org/problem?id=2029题意:N个星,在W*H的网格中,下面给出N个星的位置,给出S,T,要找出S*T大小的矩形,使得星星最多题解:http://blog.youkuaiyun.com/zxy_snow/article/details/6260895 二维树状数组和一维差不多,维护的是两个方向x,y。一块面积?代码:#include <iostream>#inc
2017-03-24 19:59:30
319
原创 CodeforcesBeta Round #19 D. Points 离线线段树 单点更新 离散化
题目链接:http://codeforces.com/contest/19/problem/D题意:有三种操作“add x y”往平面上添加(x,y)这个点,”remove x y”,将平面上已经存在的点(x,y)删除,“find x y”找出平面上坐标严格大于(x,y)的点,如果有多个点找x最小的,再找y最小的。题解:所有点 x 坐标离散化,然后按照新的坐标建一个线段树。 对于每一个坐标x,维护
2017-03-24 19:39:49
238
原创 挑战练习题3.3 POJ 2886 Who Gets the Most Candies? 树状数组
题目链接:http://poj.org/problem?id=2886题意:抢糖:N个熊孩子围成一个圈,从第K个开始淘汰,每淘汰一个,出示手中的数字,决定下一个淘汰者,正数表示左手第n个,负数反之。每个人可以拿到的存活回数的因数个数的糖果,求拿到最多糖果数的孩子的名字以及糖果数。题解:http://www.hankcs.com/program/algorithm/poj-2886-who-gets-
2017-03-24 19:32:53
250
原创 hdu4288 Coder 离线线段树 单点更新 区间求和 离散化?
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4288题意:维护一个有序数列{An},有三种操作: 1、添加一个元素。 2、删除一个元素。 3、求数列中下标%5 = 3的值的和。题解:http://blog.youkuaiyun.com/dgq8211/article/details/7999179 由于线段树中不支持添加、删除操作,所以题解写的是用离线做
2017-03-24 19:16:56
312
原创 zoj 1610 Count the Colors 线段树 区间更新
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=610题意:题解:线段树区间更新 注意更新子节点,如果遇到的父节点已经被颜色覆盖掉的话,父节点 的颜色需要往下传递(因为父节点已经不会是原来那种颜色了)。代码:#include <bits/stdc++.h>using namespace std;typedef lo
2017-03-24 19:02:57
272
原创 51nod 1307 绳子与重物 二分+dfs / 并查集
题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1307题意:题解:方法一: 因为所有绳子最终组成了1棵树,所以我们可以通过一次DFS,来检测是否有某根绳子下面绑了超过他所能负荷的重量。 具体方法:对每个节点,计算其子树的重量和(包含自身的重量),如果大于能承受的最大重量,则绳子会断,否则不会断。 一次DFS
2017-03-22 20:48:30
423
原创 51nod 1116 K进制下的大数 暴力/数论
题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1116题意:题解: 代码:暴力:#include <bits/stdc++.h>using namespace std;typedef long long ll;#define MS(a) memset(a,0,sizeof(a))#define MP m
2017-03-22 20:37:33
300
原创 Wannafly2016-12-27 SPOJ-INTSUB 数学
题目链接:http://www.spoj.com/problems/INTSUB/题意:给定一个集合,该集合由1,2,3….2n组成,n是一个整数。问该集合中有趣子集的数目,答案mod1e9+7。 x的子集合有趣定义为,该子集中至少有两个数,a和b,b是a的倍数且a是集合中最小的元素。题解:枚举子集中最小的元素,然后确定其他的元素。 假设现在最小元素为a,则有2n/a-1个大于a的元素是a的倍数
2017-03-18 17:32:26
222
原创 Wannafly2016-12-27 SPOJ-MINSUB - Largest Submatrix 二分+单调栈
题目链接:http://www.spoj.com/problems/MINSUB/题意:给定一个由非负数组成的矩阵M,和一个整数K,对于矩阵M的子矩阵M’,定义min(M’)为M’矩阵中元素的最小值。 我们需要找出这样一个子矩阵,该矩阵的面积至少为K,且min(M’)最大化。面积的定义为该矩阵的行数*列数。求出min(M’),并给出使得min(M’)为该值时面积的最大值。题解:这类问题都是可以二分
2017-03-18 17:27:34
300
原创 51nod 1158 全是1的最大子矩阵 单调栈
题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1158题意:给出个的矩阵,里面的元素只有0或1,找出M1的一个子矩阵,M1中的元素只有1,并且的面积是最大的。输出的面积题解:单调栈,把每一列数看成一个数组。 代码:#include <bits/stdc++.h>using namespace std;t
2017-03-18 16:02:36
484
原创 poj2796 单调栈
题目链接:http://poj.org/problem?id=2796题意:给你一个序列,让你求出一段区间,(在这段区间之内的最小值*这段区间所有元素之和)的最大值……题解:http://www.cnblogs.com/ziyi–caolu/archive/2013/06/23/3151556.html代码:#include <iostream>#include <cstdio>#include
2017-03-18 13:46:19
367
原创 Wannafly 每日一题 2016-12-26 KAOS 字典树
题目链接:http://www.spoj.com/problems/KAOS/题意:给定n个字符串,统计字符串(s1, s2)的对数,使得s1的字典序比s2的字典序要大,s1反一反(abc->cba,记为s1’)比s2’的字典序要小。题解:按字符串的字典序排序,从小到大枚举,假设现在考虑到了字符串s1,那么我们已经处理过了所有字典序代码:#include <bits/stdc++.h>using
2017-03-17 21:24:55
244
原创 紫书动规 例题9-13 UVA - 1220 Party at Hali-Bula 树形dp
题目链接:https://vjudge.net/problem/UVA-1220题意:题解:树形dp: 树的最大独立集问题 d[u][0]:=不选u能得到的最大人数 d[u][0]=sum{max(d[v][0],d[v][1]} d[u][1]:=选u能得到的最大人数 d[u][1]=sum{d[v][0]} 判断唯一性就是看当前点的孩子是不是不唯一的。初始唯一代码:#includ
2017-03-17 00:00:30
300
原创 紫书动规 例题9-12 UVA - 12186 Another Crisis 树形dp
题目链接:https://vjudge.net/problem/UVA-12186题意:题解:d[u]:=让u给上级发信最少需要多少工人。假设u有k个节点,则至少c=(kT-1)/100+1个直接下属发信才行。 把所有子节点的d值从小到大排序,取前c个加起来就是当前的答案。代码:#include <bits/stdc++.h>using namespace std;typedef long lo
2017-03-16 22:32:54
372
原创 紫书动规 P282的问题 hdu2196 树形dp
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2196题意:题解:http://blog.youkuaiyun.com/shuangde800/article/details/9732825 f[i][0],表示顶点为i的子树的,距顶点i的最长距离 f[i][1],表示Tree(i的父节点)-Tree(i)的最长距离+i跟i的父节点距离要求所有的f[i][0]
2017-03-16 21:34:58
245
原创 紫书动规 例题9-10 UVA - 1626 Brackets sequence 区间dp
题目链接:https://vjudge.net/problem/UVA-1626题意:题解:dp[i][j]:= i~j需要最少的括号 区间dp: dp[i][j] = min(dp[i][j],dp[i][k]+dp[k+1][j]); (i<=k代码:#include <bits/stdc++.h>using namespace std;typedef long long ll;#de
2017-03-16 19:24:48
265
原创 紫书动规 例题9-9 UVA - 10003 Cutting Sticks 区间dp
题目链接:https://vjudge.net/problem/UVA-10003题意:题解:dp[i][j]:=切割小木棍i~j的最优费用,枚举中间切割点,这段的费用是该段的长度 d[i][j] = min(d[i][j],dp(i,k)+dp(k,j)+a[j]-a[i]);代码:#include <bits/stdc++.h>using namespace std;typedef lon
2017-03-16 18:14:54
215
原创 紫书动规 例题9-8 UVA - 1625 Color Length dp
题目链接:https://vjudge.net/problem/UVA-1625题意:题解:蒟蒻感觉非常难 dp[i][]j] := 第一个串拿i个,第二个串拿j个的最小值 维护一个w[i][j] blablabla 看紫书吧 http://www.cnblogs.com/candy99/p/5985217.html代码:#include <bits/stdc++.h>using nam
2017-03-15 22:57:04
238
原创 紫书动规 例题9-7 UVA - 11584 Partitioning by Palindromes dp
题目链接:https://vjudge.net/problem/UVA-11584题意:题解:dp[i]:=考虑到第i个字符,的最少划分 dp[i] = min{dp[j]+1} (0<=j代码:#include <bits/stdc++.h>using namespace std;typedef long long ll;#define MS(a) memset(a,0,sizeof(a)
2017-03-15 16:14:26
301
原创 紫书动规 例题9-6 UVA - 11400 Lighting System Design dp
题目链接:https://vjudge.net/problem/UVA-11400题意:题解:按照电压从小到大排序,一种灯泡要么不换,要么全换; 否则依旧是两个电源,没省钱。 因为可能电压高的费用小,肯定全换,并且还可以剩下一个电源费用 还可能电压高的费用大,那也要全换,跑一跑,取最小值,因为可能电源费用省的更多那。dp[i]:=前i个的最小费用 dp[i] = min(dp[i],dp[j]
2017-03-15 15:56:49
308
原创 紫书动规 例题9-5 UVA - 12563 Jin Ge Jin Qu hao dp-01背包
题目链接:https://vjudge.net/problem/UVA-12563题意:题解:01背包 一直想二维,但是对于第i首,能不能唱只和时间有关,和前i-1首最多唱了多少没有关系,不能从dp[i-1]转移唱完了一首歌,以这首歌的结束时间判断是否到了下一首该唱的时间dp[j]:=以j为结束时间,最多唱了多少首,注意j一定要倒着枚举,否则就被当前这首歌覆盖了,就是这首歌唱了好几遍【完全背包】代
2017-03-15 14:46:01
336
原创 紫书动规 例题9-4 UVA - 116 Unidirectional TSP 多段图的最短路 dp
题目链接:https://vjudge.net/problem/UVA-116题意:题解:dp[i][j]:= 从(i,j)出发到最后一列的最小开销 因为字典序最小,所以每次往前一列转移,都要先从这列 行数最小的位置转移 dp[i][j] = min(dp[i][j],dp[row[k]][j+1]+a[i][j]); 边界是dp[i][m-1] = a[i][m-1]代码:#include
2017-03-15 13:12:40
492
原创 紫书动规 例题9-3 UVA - 1347 Tour dp
题目链接:https://vjudge.net/problem/UVA-1347题意:题解:改成两个人同时从最左点出发,沿着两条不同的路径走,最后都走到最右点,且除了起点和终点以外其余每个点恰好被一个人经过。 dp[i][j]:=第一个人走到i,第二个人走到j,且1~max(i,j)全部走过,还需要走多长的距离; 因为dp[i][j]=dp[j][i],所以规定i>j; 对于每个人,只允许走到
2017-03-15 11:46:47
292
GaaihoReader_CHS_ALL_4.20.tar
2020-02-11
操作系统实验八 文件管理
2018-06-13
操作系统实验七 磁盘调度
2018-06-13
操作系统实验六 页面置换算法
2018-06-13
操作系统实验五 内存管理
2018-06-13
操作系统实验四 设备管理
2018-06-13
操作系统实验三 作业调度
2018-06-13
操作系统实验二 银行家算法
2018-06-13
操作系统实验一: 进程调度
2018-06-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人