10 2016 档案
摘要:最近刷水太多标注一下防止它淹没在silver的水题中……我成为了本题,第一个T掉的人QAQ 【题目大意】 Bovinia设计了连接N (1 < = N < = 20,000)个农场的航班。对于任何航班,指定了其中的k个农场作为枢纽。 (1 < = K <= 200 , K < = N)。 目前,共有
阅读全文
摘要:沉迷于刷水 以前的那个二分写法过不了QAQ 换了一种好像大家都比较常用的二分。原因还不是很清楚。 【题目大意】 给出一张图,可以将其中k条边的边权减为0,求1到n的路径中最长边的最小值。 【思路】 二分答案,即最长边的最小值x。对于每次check(x),我们将边权大于x的边设为1,边权小于等于x的边
阅读全文
摘要:【题目大意】 有n个头牛,给出体重和力量。每个牛的危险值等于它上面的牛的体重总和减去它的力量值,求所有方案中危险值最大值的最小值。 【思路】 贪心。一开始脑补的贪心是体重大的先放下面,体重相同的根据力量值来排。但是其实是不对的QAQ 这里有详细证明: 首先要想到,对于相邻的两头牛,交换它们的位置,仅
阅读全文
摘要:BZOJ1650-[Usaco2006 Dec]River Hopscotch 跳石子 【题目大意】 数轴上有n个石子,第i个石头的坐标为Di,现在要从0跳到L,每次条都从一个石子跳到相邻的下一个石子。现在FJ允许你移走M个石子,问移走这M个石子后,相邻两个石子距离的最小值的最大值是多少。 *0和L
阅读全文
摘要:【题目大意】 (2n+1)*(2n+1)的矩形,由里到外每一层都有一个相同的值。问从左上走到右小经过的点累和的最小值。 【思路】 一眼就是贪心。首先能够想到的是,权值最小的那些边要尽可能夺走,所以必定有一条路要跑完至少两条边。然后我们就可以从右上到左下劈开来,左上和右下是对称的。 假设我们现在要走完
阅读全文
摘要:【题目大意】 给出一个整数列,求一段子序列之和最接近所给出的t。输出该段子序列之和及左右端点。 【思路】 ……前缀和比较神奇的想法。一般来说,我们必须要保证数列单调性,才能使用尺取法。 预处理出前i个数的前缀和,和编号i一起放入pair中,然而根据前缀和大小进行排序。由于abs(sum[i]-sum
阅读全文
摘要:POJ3061-Subsequence 【题目大意】 给定长度微n的数列整数及整数s。求出总和不小于s的连续子序列的长度的最小值。如果节不存在,则输出0。 【思路】 尺取法五分钟裸裸裸~刷水刷出了罪恶感:( 基本做法:设置l和r代表当前区间[l,r],若S(l,r)<s,则 r++。若S(l,r)≥
阅读全文
摘要:【题目大意】 已知多项式方程:a0+a1*x+a2*x^2+...+an*x^n=0。求这个方程在[1,m]内的整数解(n和m均为正整数)。 【思路】 *当年考场上怒打300+行高精度,然而没骗到多少orz 然而正解只有60+行 [前铺]f(n) mod p=f(n mod p) mod p 取四个
阅读全文
摘要:【题目大意】 在n*n的网格上有n个点,每次删除一行或者一列,问至少要删除几次才能删除完全部的这些店? 【思路】 在国庆最后一天到来前,把二分图的三个基本情况【最小点覆盖】【DAG图的最小路径覆盖】和【二分图的最大独立集】全部复习了一遍。 这道题是非常典型的最小点覆盖,指的是用最少的点让每条边都至少
阅读全文
摘要:【题目大意】 v个村庄p个邮局,邮局在村庄里,给出村庄的位置,求每个村庄到最近邮局距离之和的最小值。 【思路】 四边形不等式,虽然我并不会证明:( dp[i][j]表示前i个村庄建j个邮局的最小值,w[i][j]表示在i到j之间建立一个邮局的最小值。w[i][j]显然取i~j的中位数,可以在O(1)
阅读全文
摘要:【题目大意】 给n对炸弹可以放置的位置(每个位置为一个二维平面上的点),每次放置炸弹是时只能选择这一对中的其中一个点,每个炸弹爆炸的范围半径都一样,控制爆炸的半径使得所有的爆炸范围都不相交(可以相切),求解这个最大半径。 【思路】 显然是二分答案!二分半径,2-SAT建图部分是最裸的。 【错误点】
阅读全文
摘要:【题目大意】 给出一个网格,经过边要付出代价。求走过每一个格子的欧拉回路的最小代价。【思路】 裸裸的插头DP~然而写了好久orz 【错误点】 整个人跟制杖了一样QAQ hash实力写挂…m和n搞反了。具体看注释。 [附赠:随机生成数据的程序,欢迎对拍~]
阅读全文
摘要:【题目大意】 给定一个01矩阵,其中你可以在0的位置放置攻击装置。每一个攻击装置(x,y)都可以按照“日”字攻击其周围的 8个位置(x-1,y-2),(x-2,y-1),(x+1,y-2),(x+2,y-1),(x-1,y+2),(x-2,y+1), (x+1,y+2),(x+2,y+1)。求在装置
阅读全文
摘要:【题目大意】 给出一张图,'*'表示不能走的障碍。已知每只军队可以按照r*c的方向行军,且军队与军队之间路径不能交叉。问占据全部'.'最少要多少支军队? 【思路】 首先注意题意中有说“军队只能往下走”,弄清楚方向。 从某点往它能走的四个点走一趟,连边。最小路径覆盖=总数-二分图最大匹配。 哦耶!老了
阅读全文
摘要:【题目大意】 有n道题,第i道题有ai个选项。一个人把所有的正确答案填到了后面一题上(特殊的,当i=n的时候填到1上),问他期望做对几道题? 【思路】 沙茶题……显然每道题的期望是独立的。 对于某道题,它做对的概率等于当前题目和下一题答案是一样的概率。考虑选项数较小的那一个,它和另一题答案相同的概率
阅读全文
摘要:【题目大意】 在n*m的网格中选一条回路,使权值和最大。 【思路】 和之前裸的插头DP差不多,只不过现在回路不需要经过所有的格子。所以有以下几个注意点(具体看注释): (1)left和up插头相等的时候,直接更新答案; (2)left和up插头不存在的时候,还要考虑当前格子不取的情况。 orz写了半
阅读全文
摘要:国庆万岁!!!!! 【题目大意】 给定一张无向图,有两种边的类型为0和1。求一个最小生成树使得边0有k条。 【思路】 跑两次Kruskal。 第一次的时候优先选择边1,然后判断有哪些边0还不能连通,那么这些边0是必须要选取的。如果必须要选的边0大于k,那么直接输出无解。 第二次的时候先合并那么必须要
阅读全文