自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(494)
  • 资源 (1)
  • 收藏
  • 关注

原创 BZOJ 3643|Phi的反函数|搜索|线性筛法

求φ−1(n)=min{x|φ(x)=n}(n≤231) \varphi^{-1}(n)=\min\{x|\varphi(x)=n\} (n\leq 2^{31})太大就输出-1的一定是搜索题φ(n)=n(1−1p1)⋯(1−1pk)=pa11⋯pakk(1−1p1)⋯(1−1pk)=pa1−11(p1−1)⋯pak−1k(pk−1)\begin{aligned} \varphi(n)&=n(1-\

2016-04-26 11:07:46 638

原创 POJ 3968|UVALive 4992|HDU 3761|UVA 1475|Jungle Outpost|二分|半平面交

有n个瞭望台,形成一个凸的n多边形。瞭望台的保护范围就是凸多边形内。敌人进攻会炸毁一些瞭望台使得总部暴露在剩下瞭望台凸包之外。你的任务是选择一个点作为总部使得最少需要炸坏的瞭望台总数尽可能多。输出此时敌人需要炸毁的瞭望台数量。vjudge真是个好地方,4倍经验唾手可得一开始想了个O(n2)O(n^2)的真是作死。。 嗯nn这么大应该是O(nlogn)O(n\log n)的。 二分答案。

2016-04-26 10:03:10 909

原创 URAL 1831|Tsyfirkin's Lesson|期望DP

中文大意:计算两个k位数(没有前缀0)加法的期望时间计算(跟我们竖式加法一样从低位到高位逐位相加)。规则:一秒钟来写一个数字或对进位1做个记号。如果一次一位加法是0+?或者1+?或者?+0或者?+1只需要1秒,如果两个数都大于1就要2秒,如果a+b或者b+a在之前算过,这次再算那么也只用1秒。计算期望秒数。稍后给方程。。#include <stdio.h>int main() { stat

2016-04-26 08:35:10 450

原创 UVA 1063|11318|UVALive 3807|Marble Game|搜索

棋盘游戏有挡板,每步可以往四个方向之一倾斜,然后所有球往那个方向移动,遇到洞就会掉下去。如果一个球没有落到对应编号的洞就输。然后如果前面是墙或者别的球或者挡板就停止移动。当每个球都落到对应编号的洞就算赢。问最少步数/无解。广度搜索暴力解决之。。 map判重大法好!!!!#include <cstdio>#include <map>#include <queue>#include <cstri

2016-04-25 21:46:03 561

原创 BZOJ 3270|博物馆|概率|高斯消元

Source实力透露做法。。似乎有这么个式子 f[i,j]→⎧⎩⎨⎪⎪⎪⎪⎪⎪1−pidi⋅pj⋅f[x,j]1−pjdj⋅pi⋅f[i,y]1−pidi1−pjdjf[x,y](x∈adji,y∈adjj) f[i,j]\rightarrow\left\{\begin{aligned}\frac{1-p_i}{d_i}\cdot p_j\cdot f[x,j]\\\frac{1-p_j}{d_j

2016-04-25 19:12:16 814

原创 URAL 1851|GOV-internship|最小割

一看是个巨水的最小割就来做了。给出两个字符串由0和1组成,有些位置不知道。把第二个串去匹配第一个串,贡献代价为本次失配字符数。如何决定这些不知道的位置使总代价最小。可以发现不知道位置只有两种状态:0和1,考虑最小割。 令xix_i表示’?’ 那么答案就显而易见了 min{∑max{0,xi−0}⋅(匹配到的0的个数)+∑max{0,1−xi}⋅(匹配到的1的个数)+∑|x−xj|⋅(匹配到?的

2016-04-25 16:33:15 854

原创 URAL 2064|Caterpillars|堆

NN只毛毛虫,开始高度为0,第ii只每爬tit_icm,休息tit_imin,即下滑tit_icm,速度1cm/min。每次询问时刻tt最高的毛毛虫的高度。首先很显然ti≥106t_i\geq 10^6时,就不用算了。 然后ti<106t_i<10^6 对于每个毛毛虫,在(2n+1)ti(2n+1)t_i时到达顶点。 然后答案肯定比这个顶点小。 所以时间的变动都可以视为毛毛虫是下滑的。 没

2016-04-25 15:50:30 612

原创 机房水题欢乐赛 2016-04-25 下午

九月的彩笔Color【题目描述】九月的桌面上有一行调色板,上面有n个格子,每个格子都涂上了k种颜色中的其中一种,颜色用’A’到’Z’编号。九月想给其中一些格子重新染色,使得没有相邻格子是同一种颜色,她想知道最少需要染多少个格子可以做到。【输入描述】第一行n,k 第二行一个字符串,为初始时的颜色【输出描述】一行为答案【输入样例1】6 3 ABBACC【输出样例1】2【输入样例2】3 2 BBB【

2016-04-25 09:37:29 454

原创 机房水题欢乐赛 2016-04-26 上午

Command【题目描述】我们现在来讨论一种机器的抽象模型。这种机器有一个有限的状态集S={s0,s1,s2..sn} 和一个有限的指令集C={c0,c1,c2…cm} 。机器在任意时刻都处于某 一种状态s∈S 。同时,机器还有一个转移函数f : S x C->S ,表示机器在当前状态下接 到某个指令之后会转移到的状态,亦即机器在状态s下接到指令c后状态会变成f (s,c)。 现在对于一个机

2016-04-25 09:11:46 835

原创 BZOJ 4539|HNOI 2016|树|可持久化线段树|LCA ******

待续。。#include <cstdio>#include <algorithm>using namespace std;const int N = 100005, M = N * 2;typedef long long ll;struct Seg { Seg *lc, *rc; int sz; ll sum; Seg() { lc = rc = this; sum = s

2016-04-24 23:58:57 534

原创 BZOJ 1483|HNOI 2009|梦幻布丁|Set

给定初始序列,每个元素有个颜色,查询不同颜色块的个数,或合并两个颜色。合并操作要把小的合并到大的上去,这样连续区间的长度至少会翻倍,复杂度O(nlogn)O(n\log n) 但是我用的是set。。应该是O(nlog2n)O(n\log^2n)了。。#include <cstdio>#include <set>#include <algorithm>using namespace std;

2016-04-24 23:49:28 388

原创 机房水题欢乐赛 2016-04-24 下午

本次比赛为真·水题欢乐赛Parliament【题目描述】给出一个正整数N,把N分解成若干个不同的正整数相加,使得这若干个正整数的乘积最大.按升序输出这若干个正整数.【输入样例】7【输出样例】3 4【数据范围】20% 的数据 N<=20 40% 的数据 N<=200 60% 的数据 N<=1000 100%的数据 N<=10000Solution尽量分到根号N处即可。。Oneperson【题目描

2016-04-24 22:13:05 498

原创 URAL 1841|Cableways|...

二维空间中存在若干条连续的折线,折线方向从左下到右上或者右下到左上。一个人沿着这个折线走从下方走到上方。每条折线上可能会有可以直达上方最近折线的线,这种线只能通往最近上方折线,而且走这条线只是y坐标增加。走折线需要一定时间,走直上的线也需要一定的时间。求最少时间到达折线y坐标最大的点。求第K大。。偷懒并没有写平衡树又写了二分+树状数组。。#include <cstdio>#include <cst

2016-04-24 21:59:58 440

原创 URAL 1849|Rabbit Hunt 2|计算几何|二分|Set

待续#include <cstdio>#include <algorithm>using namespace std;#define FOR(i,j,k) for(i=j;i<=k;++i)#define rep(i,j,k) for(i=j;i<k;++i)const int N = 10005;struct Data { int x, y; Data(int a =

2016-04-24 17:53:00 777

原创 CodeForces 273D|Dima and Figure|动态规划

N*M(≤150\leq 150)的棋盘有多少个连通块是凸的。绕了好几个弯之后终于搞定了。。 令f[i][j][k][l]f[i][j][k][l]表示现在到了第i行,当前连通块占用j~k列,状态为l。 考虑一个连通块,我们用一条线扫过去,发现可能的情况只有覆盖区域:变小,变大,左移,右移(没有限定区域大小)。所以l就表示这4种情况。 那么左右边界只可能有:一直扩张,一直收缩,或者先扩张再收缩

2016-04-24 17:48:49 981

原创 ZOJ 3916|Buy Cakes|贪心|堆

你身上有MM元,KK张优惠券。商店共有NN块蛋糕,使用一张优惠券可以买一块优惠价格的蛋糕。蛋糕ii使用优惠券花费bib_i,不使用花费aia_i。问最多买多少块蛋糕。开始方向想错跪跪跪。浪费了好多时间。 一直在想先aia_i买完再调整bib_i。。 然而正确姿势是先买完bib_i再调整aia_i。。 除了这点思路基本一样,但是就这点反了QwQ。 难怪一直觉得好像情况好复杂QwQ。 这个悲伤

2016-04-24 12:29:15 824

原创 USACO|Barn Repair|堆|贪心|动态规划

SolutionDPdp[i,j]=min{f[i−1,j−1]+1,f[i,j−1]+a[j]−a[j−1]} dp[i,j]=\min\{f[i-1,j-1]+1,f[i,j-1]+a[j]-a[j-1]\} min的第1项表示第j个牛棚用一块长度为1的新木板覆盖 第2项表示延长第i块木板至第j个牛棚。贪心当所有木板都用时长度最短。 一开始c块barn1

2016-04-24 00:33:21 460

原创 机房水题欢乐赛 2016-04-22 上午

crypt1【描述】下面是一个乘法竖式,如果用我们给定的那n个数字来取代*,可以使式子成立的话,我们就叫这个式子牛式。 * * * x * * ---------- * * * * * * ---------- * * * *数字只能取代*,当然第一位不能为0,况且给定的数字里不包括0。 注意一下在美国的学校中教的“

2016-04-23 23:59:38 447

原创 机房水题欢乐赛 2016-04-23 上午 搜索

milk4 【描述】 农夫约翰要量取 Q(1 <= Q <= 20,000)夸脱(夸脱,quarts,容积单位——译者注) 他的最好的牛奶,并把它装入一个大瓶子中卖出。消费者要多少,他就给多少,从不有任何误差。 农夫约翰总是很节约。他现在在奶牛五金商店购买一些桶,用来从他的巨大的牛奶池中量出 Q 夸脱的牛奶。每个桶的价格一样。你的任务是计算出一个农夫约翰可以购买的最少的桶的集合,使得能够刚好用

2016-04-23 23:58:31 522

原创 机房水题欢乐赛 2016-04-23 下午

难题N*N的棋盘,每格有个权值,初始位置(x,y),每次可以移动到相邻的4个格子中,走过多次的格子的权值只算一次。求能获得的最大权值。输入第一行n,x,y 接下来n*n的矩阵 2组数据之间有一空行隔开输入样例2 1 1 -10 -10 5 62 1 1 5 -10 -9 10输出样例1 6数据约定10%数据:n<=3 100%数据:n<=8Solution插头DP?

2016-04-23 23:57:05 506

原创 BZOJ 4538|HNOI 2016|网络|树链剖分

题目问的是,实时修改路径最大值,求不经过某点的路径最大值。 反过来想,维护不经过路径的最大值,求经过某点的最大值。于是树链剖分即可解决。 卡着时间过了。。烦,BZOJ的编译器太老 vector#include <cstdio>#include <set>#include <vector>#include <algorithm>using namespace std;const int

2016-04-23 23:43:22 693

原创 BZOJ 3181|COCI 2012|Broj|数学|容斥|二分|筛法

咦 Rank 13?根号算法?也不能叫根号算法。。 令H(n)H(n)为我们划分的标准。(H(n)的表示好像在2015还是2014的国家集训队论文里这么写的) 若p≥H(n)p\geq H(n),筛法找出[1,109p][1,\frac{10^9}{p}]中的比p小的质数,然后选择第N个数字。 p≤H(n)p\leq H(n),先找出[1,p)[1,p)的质数,二分容斥。 至于H(n)H(n

2016-04-23 12:33:20 997

原创 机房水题欢乐赛 2016-04-21 下午

T1: brojBZOJ 3181T2: Fence【题目描述】在一个大小为1000*1000的区域中,有n个固定点,m棵tree 。 现在你要建一个围栏来保护tree,建它的费用为你选用的固定点的个数 *20和 你没有圈进围栏的tree*111. 现在希望这个值越小越好. 3<=N<=100. 1<=M<=100【输入输出描述】第一行给出n,m 下面开始n行,给出固定的坐标

2016-04-23 12:19:53 410

原创 机房水题欢乐赛 2016-04-22 下午

水炸了。。。T1: Word给出一个原串和n个字符串。 判断原串是否存在两个不相交子串按顺序连接起来在n个字符串中存在一样的。 输出一样的个数。【输入样例】ABCBABA 2 BAAB ABBA【输出样例】1【样例解释】BAAB这个单词是无法出现在句子中的。 ABBA这个单词则可以出现在句子中,当a=1,b=2,c=4,d=5或者a=1,b=2,c=6,d=7时即可。【数据约定】40%数

2016-04-23 12:17:00 501

原创 机房水题欢乐赛 2016-04-21 上午 图论

水炸了。。Asteroids【题目描述】N*N的方阵中有k个怪兽,每开一枪可以杀死一行或者一列中的所有怪兽。至少要开多少枪。【输入描述】第一行n,k 接下来k行,每一行一个坐标,表示对应的位置有怪兽【输出描述】一行为答案【输入样例】3 4 1 1 1 3 2 2 3 2【输出样例】2【样例解释】输入如下 X.X .X. .X. X表示怪兽所在位置【数据约定】100%数据:N<

2016-04-23 11:50:18 398

原创 机房水题欢乐赛 2016-04-20 下午

由于题目太水。。 一道题都没有打。。Mobile Service (CodeVS 1383)service,3 sec,64mb 一个公司有三个移动服务员。如果某个地方有一个请求,某个员工必须赶到那个地方去(那个地方没有其他员工)某一时刻只有一个员工能移动。被请求后,他才能移动,不允许在同样的位置出现两个员工。从p到q移动一个员工,需要花费c(p,q)。这个函数没有必要对称,但是c(p,p)=0

2016-04-23 11:39:51 642

原创 ?|USACO 5.4.4|Betsy's Tour|漫游小镇|插头DP

和POJ Tony’s Tour一毛一样。。#include <cstdio>#include <algorithm>#include <map>using namespace std;const int N = 20001, M = 5001;typedef long long ll;typedef map<ll, ll>::iterator mll;const int state[

2016-04-23 10:59:24 1401

原创 CodeVS 1416|USACO Train 5.5.3|Two Five|二五语言|搜索

题目【描述】有一种奇怪的语言叫做“贰五语言”。它的每个单词都由A~Y这25个字母各一个组成。但是,并不是任何一种排列都是一个合法的贰五语言单词。贰五语言的单词必须满足这样一个条件:把它的25个字母排成一个5*5的矩阵,它的每一行和每一列都必须是递增的。比如单词ACEPTBDHQUFJMRWGKNSXILOVY,它排成的矩阵如下所示: A C E P T B D H Q U F J M R W

2016-04-23 10:19:23 1215

原创 机房水题欢乐赛 2016-04-20 上午

待完善twofive【描述】有一种奇怪的语言叫做“贰五语言”。它的每个单词都由A~Y这25个字母各一个组成。但是,并不是任何一种排列都是一个合法的贰五语言单词。贰五语言的单词必须满足这样一个条件:把它的25个字母排成一个5*5的矩阵,它的每一行和每一列都必须是递增的。比如单词ACEPTBDHQUFJMRWGKNSXILOVY,它排成的矩阵如下所示: A C E P T B D H Q U F

2016-04-23 08:57:05 445

原创 BZOJ 2028|SHOI 2009|会场预约|平衡树

【问题描述】A 大厦有一间空的礼堂,可以为企业或单位提供会议场所。这些会议中的大多 数都需要连续几天的时间(个别的可能只需要一天),不过场地只有一个,所以不同的会议 的时间申请不能冲突。也就是说,前一个会议结束日期必须在后一个会议的开始日期之前。 所以,如果要接受一个新的场地预约申请,就必须拒绝掉与这个申请相冲突的预约。 一般来说,如果 A 大夏方面事先已经接受了一个会场预约,例如从 10

2016-04-23 08:39:41 959

原创 BZOJ 2115|WC 2010|Xor|高斯消元

无向联通图上的路径使其边权Xor和最大。考虑一个路径,发现其由树边和非树边组成(SAM证明线性的时候也用到了这个) 树边可以很容易地xor出来啦,非树边呢? 由于非树边的两端点总在树上,因此1条非树边与一些树边形成环,因此环的xor值就很容易求得。那么问题就变成了,在1到N的路径上取一些环,使得答案最大。参考HDU 3949。。HNOI 2011的Xor期望。。#include <cstdio>

2016-04-22 20:30:43 587

原创 POJ 1830|开关问题|高斯消元|异或方程组

自由元有两种取值而且相互不影响,乘法定理可得#include <cstdio>#include <cstring>#include <algorithm>using namespace std;#define FOR(i,j,k) for(i=j;i<=k;++i)#define rep(i,j,k) for(i=j;i<k;++i)const int dx[] = {-1, 1, 0,

2016-04-22 17:10:30 604

原创 POJ 1222|Extended Lights Out|高斯消元|异或方程组

其实挺惊讶的咋没A这题。。#include <cstdio>#include <cstring>#include <algorithm>using namespace std;#define FOR(i,j,k) for(i=j;i<=k;++i)#define rep(i,j,k) for(i=j;i<k;++i)const int dx[] = {-1, 1, 0, 0};cons

2016-04-22 16:08:37 461

原创 BZOJ 4540|HNOI 2016|序列|线段树|离线

好像aia_i没有什么特别的地方?考虑将右端点的区间拆成[1,r2]−[1,l2)[1,r_2]-[1,l_2)。 然后我们就可以枚举右端点了。 此时左端点有个区间[l1,r1][l_1,r_1]而对于最大值,其可以向左向右延伸,而左右不相互影响,因此考虑左右扫一遍,能延伸到的最远的地方单调栈就可以处理。#include <cstdio>#include <algorithm>using n

2016-04-22 13:13:02 774

原创 BZOJ 1018|SHOI 2008|堵塞的交通|线段树

咦,一道自带题解的题目?题目的坐标表示成(r,c),r=row,行号,c=column,列号。 因此x1,x2只有取1和2两种情况………考虑线段树维护一格的连通性,合并区间如图: 令总的为r,左半区间a,右半区间b,修改了mid(x,y)。 那么对于r0(上);r1(下);r2(左);r3(右);r4(右下);r5(右上)r_0(上);r_1(下);r_2(左);r_3(右);r_4(右下

2016-04-21 21:07:21 757

原创 BZOJ 2337|HNOI 2011|XOR和路径|概率期望|高斯消元

给定无向联通图,从1点等概率地向相邻点移动,求1点到N点的路径边权xor和的期望值。位运算一般拆位看。 对于每位的期望值显然有 E(u)=∑wu,v=0E(v)+∑wu,v=1[1−E(v)]di E(u)=\frac{\sum_{w_{u,v}=0}E(v)+\sum_{w_{u,v}=1}[1-E(v)]}{d_i} 0 xor i=i0 \text{ xor } i=i 1 xor i=

2016-04-21 15:40:25 577

原创 BZOJ 4521|CQOI 2016|手机号码|数位DP

满足长度10位,至少出现3个相邻相同数字,不能同时出现8和4,最高位不为0,在[L,R]内的数字个数。令dp[前i位][目前位为j][已有连续位k][4和8的状态s][是否已经比原数小t]dp[前i位][目前位为j][已有连续位k][4和8的状态s][是否已经比原数小t]dp[前i位][目前位为j][已有连续位k][4和8的状态s][是否已经比原数小t] 枚举贡献的下一个状态的目前位为b。 ...

2016-04-21 11:52:49 659

原创 CodeForces 231E|Cactus|边双联通分量|LCA

给定一个仙人掌图,多次询问某两点间的路径数。发现某两点间的路径数就等于2的路径间环的个数的幂。 因此Tarjan缩点后LCA计算路径经过的环的个数即可。#include <cstdio>#include <algorithm>#define FOR(i,j,k) for(i=j;i<=k;++i)using namespace std;typedef long long ll;const

2016-04-21 10:29:37 1448

原创 BZOJ 1415|NOI 2005|聪聪和可可|概率期望|动态规划

由于聪聪总会向可可靠近,而且移动是固定的,因此考虑预处理出所有情况下聪聪的移动方向e[i,j]。 这个可以通过枚举可可跑SPFA解决。 由于聪聪和可可的位置即可描述当前状态,因此设dp[i,j] 当e[i][j]=j或e[e[i][j]][j]=je[i][j] = j或e[e[i][j]][j]=j时,聪聪可以一步到位吃掉可可,显然此时dp[i,j]=1dp[i,j]=1。 否则可可有1|

2016-04-20 20:31:43 425

原创 BZOJ 1391|CEOI 2008|Order|最小割

令ti=0t_i=0表示执行任务ii,xi=0x_i=0表示购买机器ii,xi=1x_i=1表示租机器ii或啥也不干。 然后答案有: max{∑max{0,1−ti}⋅Ti−∑max{0,xj−ti}⋅di,j−∑max{0,1−xj}⋅aj} \max\{\sum\max\{0,1-t_i\}\cdot T_i-\sum\max\{0,x_j-t_i\}\cdot d_{i,j}-\sum\m

2016-04-20 16:28:51 391

信息学竞赛离线评测软件

最受欢迎的信息学竞赛离线评测软件,需要提供输入输出文件,该软件将可以自动帮您运行程序(需要源代码),并输出得分。

2011-07-29

空空如也

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

TA关注的人

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