自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

黑山老猴妖的专栏

学了半天依旧渣~

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

原创 正则表达式断言

看了断言懵逼了很久之后,好像看懂了之后瞎写的T T

2017-03-27 17:47:28 811

原创 千里码--

千里码做题的一些小东西访客统计 cat uv.txt | awk '/2015-08-24/ {print $2}' | sort -u | uniq | wc -l 复习了下前阵子学的awk命令。。商品数量 cat 144043123647536.txt | awk '{ if($1 == "up") count[$3] += $2; else if($1 == "dow

2016-10-24 19:08:58 648 3

原创 php+nginx搭建

php和nginx照着别人博客配置的笔记

2016-05-17 17:20:30 5468

原创 hihoCoder 1273 清理海报

题目链接:http://hihocoder.com/problemset/problem/1273题 意:这个题的题意不太明确。A覆盖B的条件是公共面积大于0,也就是一条边重合不算;角被覆盖的条件是角在矩形的内部,在边上也不算;还有如果B覆盖A,C覆盖B,C不覆盖A,如果撕开A的话,C也会被撕掉,也就是可传递。思 路:其实就是判断矩形相交,然后建图,跑dfs,思路还是很简单的(虽然

2016-03-14 14:20:36 928 2

原创 Codeforces Round #345 (Div. 2) D,E

D题意:题目的输入是n,a,b,T,然后输入一个长度为n的字符串。n代表字符串的长度,字符串的每一位代表一张图片,标号从1依次到n,初始时在第一张照片的位置。照片可以左右滑动,第一张照片左侧为第n张,第n张右侧为第一张(即一个圈),滑动所需要的时间为a。查看一张正常的照片所需要的时间为1,一张不正常(方向不对)的照片需要先花费时间b来改正方向,没看过的照片不能跳过,看过的照片可以跳过(即只花费

2016-03-08 15:31:17 551

原创 Agile Java自学笔记(一)

为啥我要在这里面写一些奇怪的东西。。。奇怪的东西被转移了。。。

2015-12-16 11:17:44 1848

原创 hdu 5015 233 Matrix

题目:题目中给出a(0,1),a(0,2)....a(0,m)和a(1,0),a(2,0)...a(n,0),a(n,m) = a(n-1,m) + a(n,m-1)矩阵快速幂 初始的为{233,a(1,0),a(2,0)...a(n,0),3},然后a(i,j) = a(i,j-1)+a(i-1,j),a(i-1,j)可以就是上一个(a(i-1,j))算出来的结果,a(i,j-1)就是当前项

2015-10-07 20:07:11 455

原创 HDU 5445 Food Problem

题意:有n种糖果,m种箱子,需要的能量为p。每种糖果有它的能量、体积、数量,每种箱子有它的容量、价格、数量,问至少获得p能量的前提下,最少花多少钱思路:首先可以知道这是一个背包,然后可以求出能量为i的时候最小的体积。如果箱子也这么做的话会超时,因为求出的最小的体积会很大,所以背包空间太大。题目中给出最终的金额不超过50000,所以可以求出当前金额能获得的最大体积,这样扫一遍就知道结果了。多

2015-10-07 00:13:19 504

原创 dlutoj 单调队列

题目链接:http://acm.dlut.edu.cn/problem.php?id=1327题目:(不知道外面能不能上 = =)DescriptionShik loves sorted intervals. But currently he does not have enough time to sort all the numbers. So he decided t

2015-10-05 23:47:39 465

原创 POJ 2823 单调队列

题意:略思路:单调队列模板题,线段树也可以。。关于单调队列,其实单调队列这个数据结构还是很简单的,就是维护一个严格单调的队列,队首为最大/小值,这样就可以很快的知道当前的最值。现在假设单调队列中已经有了一些元素,我们考虑新的元素A要进入队列时候该如何操作。我们需要的值是最值,所以比元素A还要差的元素就可以都丢掉了,因为A出现的晚(也就是被移除的时间晚),而且值更优,所以进去队列

2015-10-05 20:52:35 454

原创 倍增法求LCA

题目链接:http://www.bnuoj.com/v3/problem_show.php?pid=49357题意:有一棵树,树上的每条边有方向,如果有一条边a->b,那么就说明能从a到达b,不过不能从b到达a,给出这样的一棵树,多组询问从u到v能否到达思路:从u到v的路径是从u先到最近公共祖先,然后再到v,所以就是求两部分能否分别到达,如果都可以(且满足方向),那么就是可行的。用倍增

2015-10-04 19:50:43 591

原创 弱校联萌第一场C 栈+KMP

链接:http://acm.bnu.edu.cn/v3/contest_show.php?cid=6865#problem/C题意:一个长串,一个短串,多次进行某操作,问最后形成的串。某操作:从长串中找到第一个短串,然后删掉短串,再把长串合并(就是删后的两部分)思路:用栈记录当前栈中后面的字符最长能和短串匹配的长度,用另一个维护栈中的字符。每次从栈中取出上一个最大长度进行匹配,如果完全匹配

2015-10-01 23:39:52 504

原创 Codeforces Round #322 (Div. 2) F

题意:给出一棵树,将这棵树分为两个集合,要求两个集合中度为一的节点的数量相同(普通的节点的个数可以不同)。如果一条边连接了两个不同的集合,那么就称为“冲突边”,问“冲突边”最小为多少。思路:很明显是树形dp,比赛的时候想dp(i,j,k,c)表示到第i个节点,A集合有j个度为一的节点的个数,B有j个度为一的节点的个数,当前点为属于C集合,然后空间时间都爆掉了,然后乱搞,没敲完。赛后看的别人代码

2015-09-29 16:15:05 489

原创 POJ 1151 扫描线

链接:http://poj.org/problem?id=1151题意:求所有矩形覆盖的面积思路:扫描线。扫描线倒是很快就看懂了,不过在线段树处理的时候弄懵了。这道题求得比较特殊,就是求sum【1】,其他的值没有用,所以更新方式也比较奇怪= =虽然是区间更新,lazy值并没有向下传递,而是只更新最上面(线段树)覆盖的区间,求值的时候根据当前区间的标记值,如果区间被覆盖了就是

2015-09-09 11:20:37 392

原创 POJ 3057 Evacuation 二分图

链接:http://poj.org/problem?id=3057题意:一个二维平面图,有“D”门,“X”墙,“.”人,每个门每秒只能走一个人,人可以重叠,问最短几秒人可以走光。思路:开始胡乱YY的,就没写,后来看的题解= =(弱逼不会建图啊啊啊啊啊)。二分图最大匹配要求一个点只能连一条边,这个题的门显然不符合。不过可以把门拆成第x秒的门,这样就符合了,二分答案,建图。代码:

2015-08-28 14:27:41 731

原创 POJ 2763 在线lca

链接:http://poj.org/problem?id=2763题意:n个点构成树,q个询问,每次询问得到树上两点距离。操作一:问从当前位置(起始在s)到v的距离(每次移动到新的地方)。操作二:将第i条边的长度改为w处理出到树根的距离,操作一每次用lca求dis[s] + dis[t] - 2*dis[lca(s,t)];操作二,更新某条边之后对这条边下面的子树到树根的距

2015-08-26 17:05:28 582

原创 POJ 3683 2-sat

链接:http://poj.org/problem?id=3683题意:某一天,有N个活动,给出每个活动的开始结束时间。每个活动都需要牧师参与一段时间,牧师可以在开始或者最后的时间进行工作。问是否有满足的安排方式,输出一种。思路:两种选择,只能选择一种,大概就是2-sat。建图:如果时间A和时间B冲突,就A->B',B->A',这样建边。然后2-sat判断是否有解。区间相交:boo

2015-08-26 12:04:15 506

原创 poj2749 Building roads 2-sat

链接:http://poj.org/problem?id=2749题意:有n个奶牛,每个奶牛有坐标。有两个集散地,给出坐标,每个奶牛要链接到其中一个集散地上,让最远的两个奶牛的距离(曼哈顿距离)最近。而且有的奶牛间互相讨厌,不能连在一个集散地上,有的互相喜欢,必须连在一个上。思路:很明显的2-sat,不过还是跑偏了。。首先给出的限制关系还有集散地数量为2都符合2-sat,不过2-sat中没

2015-08-25 16:28:47 386

原创 POJ 3728 && POJ 1986

POJ1986:链接:http://poj.org/problem?id=1986题意:首先用奇怪的方式给出图,然后乱搞下把图弄成习惯的方式。题目要求的是树上两点之间距离,利用dfs+lca,求出每个点到树根的距离,然后再减去最近公共祖先到树根的距离的两倍LCA:LCA处理的方式是后序遍历,程序大概的流程:{1.判断有关于当前点的询问能否解决(另一个点访问过),如果可以将信

2015-08-24 22:59:55 439

原创 hdu 5419 线段树 or 差分前缀和

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5419题意:有n个礼物,1~n。m个区间,第i个为li~ri。每次随机三个区间,取走 no less than max(li,lj,lk) and no larger than间的礼物,问取走礼物个数的期望解法一:线段树区间更新,对大于三的点C(n,3),后求和。值为n说明有n官网区间可以覆

2015-08-22 23:56:21 1041

原创 hdu 5418 哈密顿+floyd

链接:http://acm.hdu.edu.cn/showproblem.php?pid=5418题意:从1开始,走过所有的点(可以走多次),再回到1,求最短路径思路:先floyd,求任意两点间最短路,然后求哈密顿回路最短的代码:#include #include #include #include #include #include #include #includ

2015-08-22 22:34:33 1522

原创 POJ 3678 2-sat,基础题

链接:http://poj.org/problem?id=3678代码:#include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std;#define m

2015-08-22 16:03:11 442

原创 dlutoj 1326 矩阵快速幂

链接:http://acm.dlut.edu.cn/problem.php?id=1326题意:略思路:较简单,我是令dp[i]表示最后一个放在i的种类,推出dp[i] = dp[i-2] + dp[i-3],求解ans[i]就是dp[i],dp[i-1],dp[i-2],的和。用快速幂递推单手撸的代码,然后坑大半个晚上,留下纪念=。=#include#include#incl

2015-08-16 21:17:23 428

原创 lightoj 1151 概率dp + 高斯消元

链接:vjudge..题意:10*10的地图,不过可以直接看成1*100的,从1出发,要到达100,每次走的步数用一个完美的大小为6的骰子决定。地图上有A和B,A和B都使你跳跃,不过一个是往前跳,一个是使你往后跳。。问从1走到100的期望思路:概率dp的方程很简单就能想到,不过由于可以往前或者往后走,没法直接递推,用高斯消元解方程组得到解。//原来一直都懒得用高斯消元,都想递推解决,不过有

2015-07-04 14:40:56 1356

原创 FZU 2105 线段树

题意:明显的线段树,对一个区间进行操作,操作包括与,或,异或,求和四种,也就是三种操作(均为位运算),一个询问。不过每个数字都很小,[0,16],这很奇怪,而且位运算每位之间是独立的,所以可以用四个线段树分别维护每一位,求和的时候求四次,加起来就可以。对于与操作:如果某一位为1,操作之后不产生变化,所以只考虑0的情况,0的时候全变为0,相当于覆盖对于或操作:如果某一位为0,不产生变

2015-06-10 16:24:29 502

原创 FZU 2108

题意:给出一种数字的构造,问这个数字(很大)对另一个数字的模等于多少。。思路:首先(a*b)%c = a%c*b%c,然后根据构造进行dfs,得出结果,需要用快速幂求10^k%m(网上好多网站的题解都是各种复制别的网站的啊- -)代码:#include #include #include using namespace std;const int maxn=1010;

2015-06-09 20:24:05 439

原创 lightoj 1265 概率dp

题意:英文不难(因为我都能看懂。。),大意就是在一个荒岛上只有你和其他的一种吃人的动物和被吃的动物,然后题中说明了相遇时发生的事件,食肉动物数目为0的时候可以逃生,问最后成功逃生的概率思路:推推推的就写出了转移方程,因为C(n,2)忘了除以2错了一天。。。代码:#include #include #include #include #include #include usi

2015-06-04 19:13:57 738

原创 hash 乱搞=。=

题目链接:http://acm.neu.edu.cn/hustoj/problem.php?id=1588题意:给出路由器的转发表,然后对于每组询问,输出应该从哪个端口出去。需要满足最长掩码匹配,如果有多个匹配,输出端口最小的那个思路:开始用的map,无限T。赛后乱搞的hash。。hash也是乱搞的,冲突了就存到数组的下一个位置=。=代码:#include #include #

2015-06-02 18:54:26 510

原创 概率dp ZOJ 3329

题意:给三个骰子,分别有k1,k2,k3个面,每个面朝上的概率相同。自己玩游戏,有一个计时器,计数器开始时为0,每次扔骰子,如果第一个为a,第二个为b,第三个为c就把计数器清零,否则计时器加上当前三个骰子的和,问当计数器大于n是的期望是多少思路:http://blog.csdn.net/mowayao/article/details/36891437自己想的时候,求来求去都会发现是有环的,

2015-05-28 19:06:08 447

原创 POJ 2096 概率dp

题意:给一个程序,甲每天能发现一个bug,bug分为n种,可以发生在s个位置,每次发现bug的位置是随机的且每次每种bug发生的概率都是1/n*s,问发现了n种和s种位置的bug都发现了的时候的概率思路:啦啦啦~百度的题解~用dp[i][j]表示发现了i种bug,发生在j种位置时,到达完成是天数的期望。那么dp[i][j]可以有四种转移方向,dp[i][j],dp[i+1][j],dp[i

2015-05-27 21:27:41 411

原创 POJ 3744 水概率dp+水矩阵快速幂

思路:很水的概率dp,很水的矩阵快速幂,就是从当前点推出从当前点到后两个点的概率,然后因为n比较大,所以用矩阵快速幂优化(不过我写的这个还是跑得慢= =代码:#include#include#include#includeusing namespace std;const int N = 130;const int mod = 1e9+7;#define ll long lo

2015-05-27 19:38:12 538

原创 POJ 3233 矩阵快速幂(做的快速幂的第一道题你敢信?

题意:很清楚 = =思路:刚开始是二分+二分,就是求等比数列的前一半,然后前一半乘一个A^(k>>1)就是后一半的值,然后前后加起来,如果是奇数,那么再把这位加上,这样搞完了,过了,不过很慢。。然后百度了一下题解,发现另一种做法是构造一个矩阵BB:A   1      0   1然后发现B^(k+1):A(k+1)       A(K)+A(K-1).....+A+1     

2015-05-27 15:47:54 617 2

原创 BestCoder Round #23 1003 Cities

题意:虽然有中文解释,不过还是说下,给一个n个节点的树,然后找到k个点,让这k个节点距离的期望最小。这里的期望是这么算的,从k个点中随机选取两个点(可以是一个点),然后就是距离的和除以k*k,最终结果要求乘上k*k,也就是这个子树的任意两点的距离和思路:原来做过一个类似的,不过是求某棵树上任意两点的距离和,这两个题的思路是类似的。都是dfs,对于u->v这个边,经过的次数就是两侧的节点数a*b

2015-05-22 13:45:47 550

原创 POJ 1873 凸包+枚举

题意:给你n棵树,每棵树都有它的坐标,价值,长度。现在要砍掉一些树,然后用这些树产生的木材(就是长度和)能够把其他的树围起来(剩下的树的凸包的周长),找到价值最小的解,如果价值相同,就选砍掉较少的树的解思路:就是枚举+求凸包周长,需要有个剪纸就是如果当前的价值比当前最小价值大,那么这个情况肯定是不行的,不然会T水的第一道final题= =代码:#include#include#

2015-05-21 15:33:09 453

原创 POJ 1228 稳定凸包

题意:给出n个点,这n个点在凸包的边上或者点上。问仅由这 几个点能否确定凸包的形状。。思路:考虑什么情况下不能是稳定的凸包,就是某个边上只有两个点,然后再往外面扩一个就可以形成一个新的凸包,如果边上还有一个点的话, 那么就不能添加新的点,因为给出的点是保证在凸包上的。。凸包的模板跟之前的一题有点区别,就是对于共线的点是否加入凸包,正常的时候是不加入的(因为如果没什么要求的话加进去也没有用。

2015-05-20 20:46:56 651

原创 POJ 1113 凸包模板题

题意:给出一堆城堡(点),问用围墙围起来所有的城堡,令围墙的周长最短(围墙由部分弧形和部分线段组成),围墙距离城堡的距离至少为L思路:开始直接当成凸包模板题来做了,没想问什么是凸包。先说下凸包的定义,在二维平面下,凸包可以想象成一个围绕着所有点的橡皮圈,任意两个点的连线都包括在这个凸包内。弧形的长度可以证明是一个圆的周长(很好证明),于是周长最短就是围起来所有点的周长最短,这大概就是凸包?暂时

2015-05-19 21:16:56 457

原创 POJ 2826 几何/两条线段的各种情况。。

题意:给两个木板,问这两个木板能接多少水思路:首先,如果有一个平行于x轴的,或者两个不相交,或者重合的情况下答案就是0.00。相交的时候分为两种情况,一种是斜率不同,这个很好处理,就是较低的点做个平行于x轴的直线,然后围成的三角形的面积就是答案。如果斜率相同,有如下几种情况代码:#include#include#include#include#include#includ

2015-05-19 16:57:20 465

原创 POJ 1696 向量的点乘

题意:有个东西,要吃地图上的点,但是只能直走或者向左拐,而且不能与之前的路线相交,问最多能吃多少思路:向左拐的话开始以为是叉乘,后来天真的乱写错了之后看题解,发现最多能吃多少完全是坑,因为能全吃完= =,其实画一画完全能发现,就是从最下面的点开始,然后绕着圈吃嘛。。于是这道题也是这么解的,先找到最下面的点,然后找到偏转角度最小的点,就这样走下去就可以。。三点共线的时候开始没考虑也A了,后来想了

2015-05-19 14:49:33 353

原创 POJ 1066 线段相交

题意:给出一些端点在边界上的线段,然后给出一个点,要求从点走到边界外面,跨过线段的时候要求必须从当前小线段的中点走思路:刚开始想的很复杂,想先求出来每个小线段,然后跑最短路= =,后来写跪了,看了discuss,提供的一种思路是枚举边界上的点,然后求边界上的点和终点与线段相交的个数,取最小值。 看起来似乎很对的样子,然后敲了,A了,实际上还是不太懂= =,唉。。。然后又看了看,大概

2015-05-15 11:04:51 390

原创 POJ 2653 判断线段相交

题意:n个线段,一个一个的放,问最后没有被压住的都有哪些(貌似不用考虑端点?题中没细说)思路:n有点大,可以考虑用两个队列(不过比直接算慢了点,因为用了stl?),或者是直接算,如果没有和后面的相交就可以,否则跳过代码:#include#include#include#include#include#include#includeusing namespace std;

2015-05-14 21:43:44 412

空空如也

空空如也

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

TA关注的人

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