09 2018 档案
摘要:题面 题意:有一个正n边形,它的外接圆的圆心位于原点,半径为l .以原点为圆心,r为半径作一个圆,求圆和这个正n边形的面积并。3<=n<=1e8 1<=l<=1e6 0<=r<=1e6 题解: r>=l 时 显然是大圆面积 r<=h 时 h是正n边形,每个小等腰三角形的高,h=l*cos(pi/n)
阅读全文
摘要:题面 题意:令 X = n!,给定一大于1的正整数p,求一个k使得 p ^k | X 并且 p ^(k + 1) 不是X的因子,n,,p(1e18>=n>=1e4>=p>=2) 题解:我们要找得也就是k满足 x%(p^k)==0 同时 x%(p^k*p)!=0 显然这样的k 就是x范围内最大的那个p
阅读全文
摘要:题面 题意:所有的流量都只能最短路径上的边,每个点有个最大的吞吐量,求1号点到n号点的最大吞吐量 题解:嗯嗯嗯 题意就是题解啊 先求最短路,然后可以是最短路上的边连容量inf的边 每个点都拆点,然后除了1和n两个点,都,边就是他的吞吐量,1和n边当然是inf 唯一注意就是long long
阅读全文
摘要:题面 题意:有n个地点可以选择是否修建,建的成本为p[i],用户有M个,对于每个用户,如果地点Ai和Bi都修了的,那么你就可以获得Ci的收益,现在问你最多能获得多少钱 题解:考虑最小割 对于每个地点 build(s,i,p[i]) 对于每个用户 build(i+n,t,c[i]) 他所需要的2个地点
阅读全文
摘要:题面 题意:每个人可能选0或者1,而且每个人有一些朋友,当他和朋友意见不同的时候,他是可能违背自己的内心而去迎合朋友的,现在问你最好的发言情况下,说谎的人加上意见不同的朋友总数最少,最少是多少 题解:最小割模型 对于每个人,想选0的,build(s,v,1);想选1的,build(v,t,1); 因
阅读全文
摘要:题面 题意:50个城市,告诉你,有的城市之间有双向边,告诉你一些边只能走2次,一些可以走无限次, 给你起点a1,终点a2,起点b1,终点b2,问你能否从a1到a2往返an次,同时也能b1到b2往返bn次 题解:首先考虑一对点的时候,a1到a2的路要往返an次,也就相当于需要经过a1->a2 an次,
阅读全文
摘要:题面 题意:给定一个n×m的矩阵,每个格子的人可以学文或者学理,学文和学理各有一个满意度,如果以某人为中心的十字内所有人都学文或者学理还会得到一个额外满意度,求最大满意度之和 给你一个n×m的图,你可以给每个点染1或者0,对于每个点染1或者0都有一个权值的收益,如果一个点周围有公共边的点都选择了1或
阅读全文
摘要:题面 题意:给你n,m,k,在你在(0,0)到(n,m)的矩形内,选3个格点(x,y都是整数),使得三角形面积为n*m/k,不能找到则输出-1 题解:由毕克定理知道,格点多边形的面积必为1/2的整数倍,所以首先n*m/k必须是1/2的整数倍,也就是2*n*m%k要等于0,不等于就输出-1 然后对于面
阅读全文
摘要:题面 题意:N*M的网格图里,有起点S,终点T,然后有'.'表示一般房间,'#'表示毒气房间,进入毒气房间要消耗一个氧气瓶,而且要多停留一分钟,'B'表示放氧气瓶的房间,每次进入可以获得一个氧气瓶,最多只能带5个,'P'表示有加速器的房间,进入可以获得一个,可以拥有无限个,然后使用一个可以让你用的时
阅读全文
摘要:题面 题意:给你n个串,每个串都可以选择它的一个长度为n的环形子串(比如abcdf的就有abcdf,bcdfa,cdfab,dfabc,fabcd),求这个n个串的这些子串的最长公共子序列(每个串按顺序提出来字符,而这些字符并不一定要相邻)是什么(输出字典序最小的那个),没有就输出0 题解:看起来很
阅读全文
摘要:题面 题意:给你一个500000长度的数字,然后环形的让每位做头,例如123,就有123,231,312三个,然后问这n个数字的和S,S的最小非1因子是多少 题解:每个数字在每个位置都会有一次,如果说所有数字之和为A(1234的A就是10),那么原始长度为N的数,S就一定长成AAAAAAAAAAAA
阅读全文
摘要:题面 题意:你带着K元要去n个城市,这n个城市是环形的,你可以选择任意一个起点,然后顺时针走,对于每个城市,到达时可以获得a元,但是从这里离开又需要花费b元,问你能否找到一个起点(输出花钱最少的那个),使得你能够走完一圈,不能输出-1 题解:首先对于环形问题,先把数组复制一次,现在从每个起点开始,满
阅读全文
摘要:题面 题意:在一大段时间里,告诉你,你签到了哪些区间,现在再给你m张补签卡,问你最多能实现连续签到多少天 题解:那些时间区间是有重叠的,所以我们先排序离散,并得到哪些区间是可以补签的,这样问题就变成,签过的天是0,没签过的是1,然后问区间和<=m的最大长度是多少,就转换为Poj-3061差不多一样的
阅读全文
摘要:题面 题意:给你一个长度为n(n<100000)的数组,让你找到一个最短的连续子序列,使得子序列的和>=m (m<1e9) 题解: 1 显然我们我们可以二分答案,然后利用前缀和判断是否可行,这样是O(nlgn)的 注意没有答案 ans输出0 2 还是一道尺取的裸题,先取前x个数(r++),直到大于m
阅读全文
摘要:题面 题意:4个人围一圈坐着,每个人13张牌,然后从第一个人开始,必须按照A-K的顺序出牌,一个人出牌后,剩下的人依次可以选择是否质疑他,例如,第一个人现在必须出8(因为按照A-K顺序轮到了),可是他没有或者有,无论如何他会说,我出了x个8,这x张牌就背面朝上的放在桌上,如果有人质疑,才会翻开,然后
阅读全文
摘要:题面 题意:给你N个点,M条边的无向图 (N<=15000,M<=30000)第j条边的长度为 dj (1<=dj<=1e9),然后K个询问 (1<=K<=20000)。 每个询问的格式是:A B,表示询问从A点走到B点的所有路径中,最长的边最小值是多少? 题解:求所有路径上,那些最大的边中最小的值
阅读全文
摘要:题面 题意:有一个正n多边形,我们要连接一些对角线,把这个多边形分成若干个区域,要求连接的对角线不能相交,每个点可以连出也可以不连出对角线,即最终不要求所有区域均为三角形,问总方案数mod (10^9+7)的结果。n≤10^6 题解:手推1,1,3,11,45,利用OEIS知道这是 超级卡特兰数(又
阅读全文
摘要:题面 题意:给你2个点A和B,和n条直线(ax+by+c=0),给n个a,b,c,求A到B至少跨过多少条直线 题解:对于每条直线,看2个点是否在他同侧,异侧答案就+1
阅读全文
摘要:1001:题面 题意:给定一个数n,找出三个正整数x、y和z,满足:n=x+y+z,x|n,y|n,z|n。然后求xyz的最大值。 题解:1=1/2+3/1+1/6=1/3+1/3+1/3=1/2+1/4+1/4 所以就三种 1 #include <bits/stdc++.h> 2 using na
阅读全文
摘要:题面 题意:有n个人为成一个圈,其中第i个人想要r[i]种不同的礼物,相邻的两个人可以聊天,炫耀自己的礼物。如果两个相邻的人拥有同一种礼物,则双方都会很不高兴,问最少需要多少种不同的礼物才能满足所有人的需求,假设每种礼物有无限多个。 n<=100000 题解: 对于n==1 直接输出a[1] 对于n
阅读全文

浙公网安备 33010602011771号