摘要:
传送门DescriptionDD和QQ在玩游戏,DD在地上画了一棵树(图论中的树),然后他告诉QQ这棵树的度数序列。QQ马上说这不是一棵树。DD认为自己被QQ鄙视了,他们吵了起来。 但DD随后发现自己算错了度数序列,QQ说的是对的。DD很奇怪为什么QQ反应得这么快。 现在给出一个图的... 阅读全文
摘要:
传送门Description平面上有N个点,SubRaY想在其中找出一个点,使之到其它点的距离之和最小。为了便于计算,所以我们定义(x1,y1)(x2,y2)两点间的距离为:|x2-x1|+|y2-y1| 请你编写一个程序,来完成此任务:输出距离总和的最小值是多少。 题解这题其实就... 阅读全文
摘要:
传送门Description 农夫John发现做出全威斯康辛州最甜的黄油的方法:糖。把糖放在一片牧场上,他知道N(1#includeusing namespace std;const int inf=99999999;int n,p,c,num[801],d[801][801],a... 阅读全文
摘要:
Description虽然当奶牛贝里斯找到平衡序列后很高兴了,但是他现在对序列提出了一个更高的要求,就是要求每个序列中必须是先一定数量的左括号然后是与左括号相同数量的右括号。例如:(((()))),就是一个完美的平衡序列。 当贝里斯某天在农场上走的时候,他在地上发现了马蹄印,这个农... 阅读全文
摘要:
Description 小杉看了看自己的纹身,明白了整个管道网是由N个小房间和若干小房间之间的单向的管道组成的。 小房间编号为不超过N的正整数。 每个管道都有一个人品限制值,小杉只能在人品不超过该限制值时通过。 小杉一开始在房间1,现在小杉想知道,每个小房间他最多能够以人品多... 阅读全文
摘要:
Description 我们现在有两台机器,A和B。 A机器有n个工作模式,分别为 mode_0、mode_1….mode_n-1,B机器有m个工作模式:mode_0、mode_1….mode_m-1,我们现在有一些工作,每个工作可以用一个三元组来描述(i,x, y ),表示... 阅读全文
摘要:
传送们Description 森林里面有n棵贵重的树,你需要将它们保护起来。保护树木的方法是给它们做一个围栏(专业术语叫“凸包”),但围栏本身需要用这些树来做,因此需要砍下一些树。砍掉哪些树才能让损失的价值最小呢?如果有个解,取被砍掉的树的数目最小的一组。你可以认为在这样的限制下解... 阅读全文
摘要:
传送门题目大意 求将n个点围起来的线的长度(也就是凸包的长度)题解 先找到一个最边的点 然后从这个点出发,向另外n-1个点枚举,也是找到最下的点 再记录路径长度代码#include#include#includeusing namespace std;... 阅读全文
摘要:
NO.1 平台Description Alice要搭建平台,平台不能漂在空气中,必须要有两根柱子支撑,具体地说,每个平台的两端必须由一根柱子支撑,柱子的另一端在地板或另一个平台上。 给你平台的放置位置(如下左图所示),每个平台的位置由它的高度(离地面的垂直距离)和水平方向两个... 阅读全文
摘要:
NO.1 牛棚的安排DescriptionFJ的N(1#include#include#include#includeusing namespace std;int s[50000+10],t[50000+10],rank[50000+10],up[50000+10];bool cm... 阅读全文
摘要:
NO.1Description我们知道,从区间[L,H](L和H为整数)中选取N个整数,总共有(H-L+1)^N种方案。小z很好奇这样选出的数的最大公约数的规律,他决定对每种方案选出的N个整数都求一次最大公约数,以便进一步研究。然而他很快发现工作量太大了,于是向你寻求帮助。你的任务很... 阅读全文
摘要:
NO.1Description对于两个整数k 和m,如果k 和m 的最大公约数为1,则k 和m 互质。给出两个正整 数n 和m(m≤n),定义f(n,m)为1~n!中与m!互质的数的个数。其中n!=1*2*3*..*(n-1)*n。 Task:给定n 和m,要求计算f(n,m)。In... 阅读全文
摘要:
NO.1Description在一个长方型框子里,最多有N(0≤N≤6)个相异的点。在其中任何一个点上放一个很小的油滴,那么这个油滴会一直扩展,直到接触到其它油滴或者框子的边界。必须等一个油滴扩展完毕才能放置下一个油滴。那么应该按照怎样的顺序在这N个点上放置油滴,才能使放置完毕后所有... 阅读全文
摘要:
第一题Description 有n堆石子,从1~n编号,其石子总数为2^k。 每次可以选择两堆石子a和b,满足a堆的石子数不比b堆的多,记c为a的石子数。然后可以进行以下操作:从b堆石子中拿c这么多的石子到a堆中。 要求你给出一个方案,使得最后有一堆石子的数目达到2... 阅读全文
摘要:
第一题题目大意:求一个有重量限制的天平最多可以放重量多少的砝码 题目链接:https://jzoj.net/senior/#main/show/1252思路:DFS+剪枝+前缀和 先记录一波**前缀和**s[i] 那么我们倒过来搜,搜到第i个,... 阅读全文
摘要:
Description小A正在搭积木。有N个位置可以让小A使用,初始高度都为0。小A每次搭积木的时候,都会选定一个拥有相同高度的区间[A..B],然后将位置[A+1..B-1]上的所有积木的高度加一。不幸的是,小A把积木搭好之后没多久,小A调皮的弟弟就将其中若干个位置上的积木弄倒了。... 阅读全文
摘要:
Description 奶牛们想用K(1#include#include#includeusing namespace std;const int maxn=502;struct zs{ int mx,c,h;}a[maxn];bool f[40233];int i,j,n,m,a... 阅读全文
摘要:
Description 奶牛买了一个奶酪厂生产奶酪,已知每周生产一单位奶酪的费用为C_i,每周可以生产任意数量的奶酪,现在要为接下来N(1#includeusing namespace std;int n,m,minn,a[10001],b[10001];long long ans... 阅读全文
摘要:
NO.1题目描述:有n首曲子,每一次播放值最大的音乐,每播完一首音乐,它的值平均分给其他n-1首曲子,如果不能平分,那么多出来的,顺次分给编号靠前的曲子思路:暴力模拟 每次求出最大值,用两个变量记录它能平分的值和多出来的值 然后循环,枚举1~n, ... 阅读全文
摘要:
NO.1题目描述:有n个长方形,给出它的左下角和右上角,求出q个点被多少个长方形覆盖(平行于x轴和y轴)思路:差分+前缀和 代码:var n,i,x,y,x1,y1,j,q:longint; a,f:array[0..3001,0..3001]of lo... 阅读全文
摘要:
NO.1题目描述:有一个n*n的矩阵,每个点上有一个值,要求两个矩阵,在只有一个交点的情况下,两个矩阵的值相等,求有多少种方案思路:枚举+hash+前缀合 矩阵只有以上两种情况,先将**前缀和**f[i,j]求出来,f[i,j]=f[i-1,j]+... 阅读全文
摘要:
NO.1题目描述: n只蚂蚁以每秒1cm的速度在长为Lcm的竿子上爬行。当蚂蚁爬到竿子的端点时就会掉落。由于竿子太细,两只蚂蚁相遇时,它们不能交错通过,只能各自反向爬回去。对于每只蚂蚁,我们知道它距离竿子左端的距离xi,但不知道它当前的朝向。请计算各种情况当中,所有蚂蚁落下竿子所需的... 阅读全文
摘要:
NO.1题目描述:一个十进制整数被叫做权势二进制,当他的十进制表示的时候只由0或1组成。当给定一个n的时候,计算一下最少要多少个权势二进制相加才能得到n。思路:贪心 因为每一位最多为1,所以就求出最大的数字(每个位置上)代码:var i,k,n,l,x,j:lon... 阅读全文
摘要:
NO.1题目描述:知道n+1(包括Oliver)个人的语文、数学、英语成绩,求出Oliver的数学、语文、英语分别和最高的分数差多少?思路:高精+排序 考试一瞟数据最长的成绩=r then exit; i:=l; j:=r; mid:=x[(l+r) div 2... 阅读全文
摘要:
NO.1题目描述: 给定n个数,{x1,x2,…,xn}要求从中选出至少一个数,至多n个数,使得乘积之和最大。思路:强枚 记录下最大的小数,和小数的个数、”0”的个数 再做一波判断就好了代码:var max,n,i,x,w,k:longi... 阅读全文
摘要:
NO.1题目描述: 小x和小y是好朋友。小y的成绩很差,以至于 GPA(平均绩点)在系内倒数。系内一共有 N 位同学,每位同学有自己的 GPA,以及已修学分数,定义 GPT = GPA ×已修学分数。小x为了帮助小y提高成绩,给小y提了一个要求:新学期的 GPA 要超过... 阅读全文
摘要:
NO.1题目描述: 给定一个长度为N的序列a,对于每一个数都可选或不选,把选出的数有序组成一个新的序列b,使b序列的“和谐数”最大。 一个序列的和谐数如下定义:对于位置i,如果第奇数次选的则加上bi,偶数次选的则减去bi 注意:新的序列b必须是从左到右依次在a序列选择的,即不能打乱顺... 阅读全文
摘要:
NO.1题目描述: Mirko 最近发现了一个古老的游戏。这个游戏的屏幕有N列。在屏幕的底部,有个占M(Mx then begin ans:=l-x+ans; l:=x; r:=l+m-1; ... 阅读全文
摘要:
Description许多的小球一个一个的从一棵满二叉树上掉下来组成FBT(Full Binary Tree,满二叉树),每一时间,一个正在下降的球第一个访问的是非叶子节点。然后继续下降时,或者走右子树,或者走左子树,直到访问到叶子节点。决定球运动方向的是每个节点的布尔值。最初,所有... 阅读全文
摘要:
仍然是预处理sum[i]表示前i个数的和,只枚举右端点r问题就转换成了在sum[r-k..r-1]中找一个最小值。那么我们维护一个元素单调递增的队列每次处理完一个r后把队尾所有不小于sum[r]的元素删掉后把sum[r]放进队尾。那么每次只用把队头中元素在原数组中的下标代码如下:#i... 阅读全文
摘要:
先将1~n所有非素数除1外的最小公因数求出来 最后循环求出加上每一个i的除1外的最小公约数,如果为0,则加本身代码如下:var n,i,j:longint; ans:int64; w:array[2..10000000] of longint;begin readln(n)... 阅读全文
摘要:
这题,只有一种情况才可以加,就是c[i]c[j] 那么定义一个sum1和sum2为1和0分别出现多少次 每次循环开始s1+sum1,s2+sum2 如果为0,则ans+s1,sum1+1 如果为1,则ans+s2,sum2+1代码如下:var n,i,x:longin... 阅读全文
摘要:
其实,题意简单化就是叫你求最大的一个数 直接枚举代码如下:var max,a,i,n:longint;begin max:=0; readln(n); for i:=1 to n do begin read(a); if a>max then ... 阅读全文
摘要:
Description对于自然数1..n的一个排列A[1..N] 可以划分为若干个单调递增序列。每个单调递增序列由连续元素A[st..ed]组成,且满足以下条件: 1 A[ed+1]; 例如:排列1 2 4 5 6 3 9 10 7 8 可划分为3个单调递增序列 1 2 3 ... 阅读全文
摘要:
80%:做不出100%,先来个80分水法 首先将x,y之间有边的记录两个,存在a数组里,一个是x,y,另一个是y,x 然后将这个a数组排序,将a[i,1]按升序排序。 Then 就可以求出每一个点与多少个点有边,求出每一个点的"子点"的区间,用l和r数组存 ... 阅读全文
摘要:
f[i,j*k]:=f[i,j*k]+f[i-1,j]; 设f[i,j]表示前i个,当那一位数字为j*k的时候的最大好序列个数代码如下:const maxn=2000; p=1000000007;var f:array [1..maxn,1... 阅读全文
摘要:
这题就是求一个区间[l..r],那开始将l=-10000 r=10000 每次输入一次判断,如果为”N”,那么就将符号反转,如 >→= >=→ 那么符号处理好后, ①如果为”>”或”>=”,那么如果当x大于l且小于或等于r,则l=x ... 阅读全文
摘要:
其实,这题很水 我们每次pos到一个”bear”,就将其前后多余的相乘,就得出包含这个”bear”的单词数。 为了避免重复计算,我们每次做完一个”bear”,就delete掉代码如下:var x:ansistring; i,ans:longint;begin an... 阅读全文
摘要:
其实这题就是将第二个时间-第一个时间,小于0的补全就A了代码如下:var x,y,k:string; l1,l2,x1,x2,x3,y1,y2,y3:longint;begin readln(x); readln(y); l1:=pos(':',x); l2:=po... 阅读全文
摘要:
方法① 数据1k then begin o:=1; break; end; if o=0 then inc(l); end; write(l);end.方法②代码:var n,k,x,g,f:int64... 阅读全文