汕头市赛srm10 T2】的更多相关文章

n个数,分组,数Ai要在至少含有Ai个数的组,求最多分多少组. 方法一:大的数应该尽量跟大的在一起,这样才能让小的出现很多很多组,所以从大到小排序,给当前序列中最大的数x分x个数.代码如下: #include<stdio.h> #include<stdlib.h> #include<string.h> #include<algorithm> //#include<iostream> using namespace std; int n; #def…
绵津见-终 SRM 13 背景 “西瓜也是可以种在海上的!”——绵津见 然而种在海上的西瓜最需要防范的,是时不时会涌向瓜田的阵阵海浪. 幸好,身为海神的绵津见可以释放魔法“水平如镜”来阻止海浪拍打西瓜. 然而,当西瓜一个接一个成熟之时,它们就要离开瓜田,飘向遥远的彼岸.绵津见的魔法无法保护离开瓜田的西瓜们,但至少,也得知道西瓜们遭遇了多大的风浪啊. 描述 我们用一个坐标系来描述大海,绵津见的瓜田位于x轴下方,每当有一个西瓜成熟时,它会从x轴上一点出发,沿一条平行y轴的直线往y轴正方向前进. 某个…
描述 猫和老鼠,看过吧?猫来了,老鼠要躲进洞里.在一条数轴上,一共有n个洞,位置分别在xi,能容纳vi只老鼠.一共有m只老鼠位置分别在Xi,要躲进洞里,问所有老鼠跑进洞里的距离总和最小是多少. 输入格式 两个用空格隔开的整数m和n. 这一行m个数字分别表示老鼠的位置 接下来n行每行两个数字分别表示洞的位置和容纳量 输出格式 一个整数,表示最小的距离总和.(如果无解,输出-1) 样例输入 4 5 6 2 8 9 3 6 2 1 3 6 4 7 4 7 样例输出 11————————————————…
最长上升子序列 (tree.pas/c/cpp) 128MB 1s 有一个长度为n的序列a[i],其中1到n的整数各自在a[i]中出现恰好一次. 现在已知另一个等长的序列f[i],表示a[i]中以第i个位置结尾的最长上升子序列的长度,请还原出a[i]. 输入格式 第一行一个正整数n. 接下来一行n个数,其中第i个数表示f[i]. 输出格式 一行,n个整数,表示序列a[i],如果答案不唯一,任意输出一种. 样例输入 7 1 2 3 2 4 4 3 样例输出 1 4 5 2 7 6 3 样例解释 以…
这道题很容易想到是二分 但是因为可能会爆LL 所以要加一波特判 #include<cstdio> #include<cstring> #include<algorithm> #define LL long long using namespace std; ,mx=1e18; LL read(){ LL ans=,c=getchar(); ') c=getchar(); +(c-'); c=getchar();} return ans; } LL n,S,mn; LL…
数学上来先打表 SRM 10 描述 给出 n个点(不同点之间有区别),求出满足下列条件的连边(双向边)方案:1.每条边连接两个不同的点,每两个点之间至多有一条边2.不存在三个点a,b,c使三个点间两两可以互相到达且两两之间最短距离相等3.边的长度均为1 输入格式 一行,一个整数n 输出格式 一行,一个整数,表示方案数对1004535809取模的结果. 样例输入 3 样例输出 7 数据范围与约定 对于8组数据,1<=n<=9对于余下8组数据,10<=n<=2000 样例解释 三个点之…
贪心只能过样例 SRM 10 描述 给出n个数a[i](1<=a[i]<=n),问最多能把这些数分成几组,使得每个数a[i]所在的组至少有a[i]个数 输入格式 第一行一个整数n,接下来n行每行一个整数分别是a[1],a[2],...,a[n] 输出格式 一行,输出答案,一个整数 样例输入 5 2 1 2 2 3 样例输出 2 数据范围与约定 数据有梯度,分布如下: 0<n<=20 7组数据 20<n<=5000 15组数据 5000<n<=1000000…
模拟只会猜题意 SRM 10 描述 有一本n个单词的词典,求按下列方法能造出的不相同的词汇数目.  1.词典中的单词是一个词. 2.能分为两部分的,其中前一部分是一个词典词或者其非空前缀,后一部分是一个词典词或者其非空后缀的词. 输入格式 第一行一个整数n,接下来n行每行一个字符串,表示单词 输出格式 一个整数,答案 样例输入 3 a ab bc 样例输出 20 数据范围与约定 对10%的数据,n=1 对另外40%的数据,1<=n<=10,单词只含字符'a' 对所有的数据,1<=n<…
dp只会看规律 SRM 10 描述 平面上有n个点(xi,yi),用最少个数的底边在x轴上且面积为S的矩形覆盖这些点(在边界上也算覆盖) 输入格式 第一行两个整数n,S接下来n行每行两个整数xi,yi,表示点的坐标 输出格式 一行,一个整数,表示答案 样例输入 6 4 5 1 4 1 7 1 6 4 5 4 2 1 样例输出 3 数据范围与约定 n=3,1组数据n=5,1组数据n=11,1组数据 n=15,1组数据 n=18,1组数据18<n<=100,7组数据 对于所有的数据,1<=n…
T2:找min:一直找最小的那个,直到a[i]-x+1小于0,就找次小的,以此类推: 求max,也是一样的,一直到最大的那个,直到次大的比之前最大的大,就找次大的: 这个模拟,可以用上priority_queue: #include <cstdio> #include <cstring> #include <algorithm> #include <iostream> #include <queue> using namespace std; c…