Comet OJ 2019 夏季欢乐赛题解】的更多相关文章

Comet OJ 2019 夏季欢乐赛题解 我是来骗访问量的 A 完全k叉树 \(n\)个点的完全k叉树的直径. 直接做 B 距离产生美 直接做 C 烤面包片 \(n!!!\mod p\) 显然\(n\)太大就是0,不然直接暴力 D 茶颜悦色 原题 E 飞行棋 最后肯定是起点->最后\(k\)个点->终点(弹回去->..->弹回去->..->终点) 矩乘做出起点到最后\(k\)个点的概率\(f_i\)与期望步数\(g_i\). 最后\(k\)个点任意一个点走到终点的期望…
###题目链接### 题目大意:这里有横着的两排房子,给你每个房子的左端点和右端点.若两排房子中分别有两个房子 x y ,他们在横坐标上有重叠部分(端点重叠也算),则被称为 “对门” 关系. 问你总共有多少个 “对门” 关系. 分析: 显然题目要让你求的是,枚举第一排各个房子,然后找第二排有多少个房子区间与之有交集部分. 第一排:               [                     ] 第二排:[      ]   [         ]  [   ]  [         …
传送门 #A: 思路:等差数列求和,看成俩次1+2+…+ n,多加的n减去,所以 ans = n*(n+1) - n. AC代码: #include<iostream> #include<algorithm> #include<string> using namespace std; int main() { int n; while(cin >> n) { cout << n*(n+) - n << endl ; } ; } #B:…
Comet OJ 夏季欢乐赛 篮球校赛 题目传送门 题目描述 JWJU注重培养学生的"唱,跳,rap,篮球"能力.于是每年JWJU都会举办篮球校赛,来给同学们一个切磋篮球技术的平台.校赛冠军的奖励是看wls女装一次,为了这个目标,大家都努力训练,希望自己能看到wls女装. 教练my*m**y手下有 nn* 名队员,现在他要挑选 55 人组成一个篮球队来参赛.众所周知,一个篮球队伍有五个不同的位置(控球后卫,得分后卫,小前锋,大前锋,中锋),现在教练my*m**y*给出每名队员在每个位置…
Comet OJ 夏季欢乐赛 Gree的心房 题目传送门 题目描述 据说每一个走进Gree哥哥心房的小姑娘都没有能够再走出来-- 我们将Gree哥哥的心房抽象成一个n \times mn×m的地图,初始所有点均为空.当小姑娘走入他的心房时(此时小姑娘的位置为 (1,1)(1,1) 点),他会将kk 个 1 \times 11×1 障碍物放入地图来阻止小姑娘的行动,每个位置最多只能放置一个障碍物(即不能叠加放置).但由于Gree哥哥被小姑娘的美貌所捕获,并没有一套很好的策略去放置这些障碍物,于是就…
Comet OJ 夏季欢乐赛 H 分配学号 题目传送门 题目描述 今天,是JWJU给同学们分配学号的一天!为了让大家尽可能的得到自己想要的学号,鸡尾酒让大家先从 [1,10^{18}][1,1018] 中随机挑选一个数字作为自己的学号.但是总有一些心有灵犀的小伙伴们选择了一样的数字--显然这样是不合法的,因为每个人的学号都应该是唯一的. 于是鸡尾酒决定调整大家的学号.他采用如下两个原则来修改: 1.只增不减,每个人的最终学号 \ge≥ 每个人初始选择的学号 2.总修改量尽量少,总修改量指每一个人…
Preface 在一个月黑风高的夜晚我这个蒟蒻正踌躇着打什么比赛好 是继续做一场AGC,还是去刷一场CF 然后,一道金光闪过(滑稽),我们的红太阳bzt给我指明了方向: 你太菜了,我知道有一场很水的比赛,你快来做吧 然后我就点进比赛,看到了排行榜上Minamoto旁大大的AK二字,不禁心生敬意 同时对于它一人狂得两题一血,身穿两条小裙子的事迹有不免心生敬佩 然后我就开始了刷水之旅(被水题狂虐) 以下题目按照编号顺序排列(怎么感觉在说废话) A 完全k叉树 一眼发现可以处理出这棵树的深度和最后一层…
题面 一开始想到一个 O(N^2) 做法,先把x排序,然后顺次枚举x最大的点,看向前最多可以保留多少点 (也就是先不管正方形的上下长度限制,先考虑左右的限制).然后再对这些点做一遍类似的..(等等这么一说感觉怎么成 O(N^2 logN)的了23333). 但反正这样肯定是不行的,数据太大了,我们要做一些优化. 我们保留限制左右边界的这个过程,看能不能优化一下限制y坐标找答案的过程.    考虑一颗线段树,从左向右第i个叶子节点代表如果上边界在纵坐标i,此时的答案是多少 (注意,右边界是在枚举的…
题面 F比较友善(相较于E),我们发现如果i和j是满足条件的两个下标,那么: a[i]-2*b[i] + a[j]-2*b[j] >=0 或者 b[i]-2*a[i] + b[j]-2*a[j] >=0. 又因为两个条件不可能同时成立(你把左边式子的不等号左边全移到右边试试),所以我们可以分开算两种情况并最后把答案加起来...(其实两种情况是对称的,所以可以直接用一个函数解决,两次调用之间把所有 a[]与b[] swap一下就好啦) 对于每种情况,我们不妨把下标小的移项到右边,然后发现这就是一…
题面 这个题暴好啊,考了很多东西. 首先设f(x)为离终点还有x步要走的期望步数,我们可以发现 : 1.x>=k时,x可以转移到的点的下标都<x. 2.x<k时,则可能走回到x或者下标更大的点. 因为k特别小,所以我们可以把 f(0) (显然是0),f(1),f(2),.....,f(k-1) 暴力高斯消元出来 (这个你们不会的话可以试着把每个0<x<k的x的等式写出来,然后把f(x)项全移到左边,其他项全移到右边,就可以得到一个方程:这样可以列k-1个方程,正好k-1个未知…