kick start 2019 round D T3题解】的更多相关文章

---恢复内容开始--- 题目大意:共有N个房子,每个房子都有各自的坐标X[i],占据每个房子需要一定花费C[i].现在需要选择K个房子作为仓库,1个房子作为商店(与题目不同,概念一样),由于仓库到房子之间存在距离 | Xi-Xj | ,所以想要使“占据K+1个房子以及每个仓库到商店的距离和”最小化,并输出该最小值. 数据范围:K<N<=1e5,C[i],X[i]<=1e9. 解题思路:比赛期间使用的是N*N*log(N)的时间复杂度,总体思路是先选定商店位置,再将其他房子按照“花费+距…
题目大意:由N个房子围成一个环,G个人分别顺时针/逆时针在房子上走,一共走M分钟,每分钟结束,每个人顺/逆时针走到相邻的房子.对于每个房子都会记录最后时刻到达的人(可能是一群人).最终输出每个人会被几个房子记录. 数据范围:N<=1e5,G<=1e5,M<=1e9,多组测试数据. 解题思路:比赛时没做出来第二个测试点,有点失了智...看了下题解马上就有了想法.关键点在于①将顺时针逆时针分开考虑②从走过M步的最终状态向前思考③从单个人变成一群人代码的准确性④代码的准确性. 我的想法是:先将…
[多校联考2019(Round 5)]青青草原的表彰大会(dp+组合数学) 题面 青青草原上有n 只羊,他们聚集在包包大人的家里,举办一年一度的表彰大会,在这次的表彰大会中,包包大人让羊们按自己的贡献从小到大排成一排,以便于发放奖金.每只羊都会得到数值在 1~m 的奖金,并且第 i 只羊的奖金应为第 i+1只羊的约数(即满足 ai|ai+1).现在包包大人想知道一共有多少种不同的发放奖金的方式(两种发放奖金的方式不同是指在两种发放奖金的方式中存在某只羊拿到的奖金不同) 分析 我们发现,序列中不同…
$\DeclareMathOperator*{\argmax}{arg\,max}$ 题目链接 题目大意 一排 $N$ 个座位,从左到右编号 $1$ 到 $N$ . 有 $Q$ 个预定座位的请求,第 $i$ 个请求想要预定编号从 $L_i$ 到 $R_i$ 的所有座位. 可以按任意顺序处理这 $Q$ 个请求,处理一个请求时,把对应区间中尚未被分配的座位分配给这个请求. 试问每个请求最终订到的座位数量的最小值最大可能是多少? Limits Time limit: 30 seconds per te…
设共有 $N = \sum_{i=1}^{9} A_i$ 个数字.先把 $N$ 个数字任意分成两组 $A$ 和 $B$,$A$ 中有 $N_A = \floor{N/2}$ 个数字,$B$ 中有 $N_B=\ceil{N/2}$ 个数字.将 $A$ 中数字之和记作 $S_A$,$B$ 中数字之和记作 $S_B$.若 $(S_A - S_B) \bmod 11 \ne 0$,再进行调整. 考虑通过交换 $A$.$B$ 中的数字来改变 $S_A - S_B$ 的值.若有解一定能通过若干次交换操作使得…
题目链接 题目大意 在一条数轴上住着 $N$ 条狗和一个动物研究者 Bundle.Bundle 的坐标是 0,狗的坐标都是正整数,可能有多条狗住在同一个位置.每条狗都有一个颜色.Bundle 需要观测 $K$ 条狗.要观测一条狗 Bundle 必须走到狗的住处,并且穿着和狗同色的衣服.Bundle 只能在家换衣服.试问 Bundle 至少要走多长的路程?注意:最后 Bundle 不必回到住处. Constraints 不超过 100 组测试数据 $ 1 \le N \le 1000 $ $ 1…
题目大意 $R \times C$ 的网格,格子间的距离取曼哈顿距离.有些格子是邮局.现在可以把至多一个不是邮局的格子变成邮局,问每个格子到最近的邮局的曼哈顿距离的最大值最小是多少. 数据范围 $ 1 \le R \le 250 $ $ 1 \le C \le 250 $ 100 组测试数据 Time limit: 15 s 分析 显然可以二分答案. 几何视角 考虑平面上的整点(也称格点).到一个格点的曼哈顿距离不大于 $k$ 的所有格点的轮廓是一个旋转了 45° 的正方形( For any p…
对我很有启发的一道题. 这道题的解法中最有思维难度的 observation 是 For simplicity, we will assume that we never eat a stone with zero energy. 求解最优化问题时,我们可以对解空间增加一些限制条件,使解空间更加"规范",同时保证缩小了的解空间中至少包含一个最优解.…
题目链接 题目大意 有 $N$ 个人,$S$ 项技能,这些技能用 $1, 2, 3, \dots, S$ 表示 .第 $i$ 个人会 $c_i$ 项技能($ 1 \le c_i \le 5 $).对于两个人 $i$, $j$,若 $i$ 会某项技能而 $j$ 不会,则称 $i$ 可以辅导 $j$ .试问有多少个有序数对 $(i, j)$ 满足 $i$ 可以辅导 $j$ . 数据范围 多组测试数据(不超过 100 组) $ 2 \le N \le 5 \times 10^4 $ $ 1 \le S…
X or What? 符号约定: $\xor$ 表示异或. popcount($x$) 表示非负整数 $x$ 的二进制表示里数字 1 出现的次数.例如,$13 = 1101_2$,则 popcount(13) = 4. 注意到,popcount($a \xor b$) = popcount($a$) + popcount($b$) - 2 * number of positions both $a$ and $b$ are set. 因此,popcount($a \xor b$) 的奇偶性 =…
Google Kick Start 2019 C轮 第一题 Wiggle Walk 题解 题目地址:https://codingcompetitions.withgoogle.com/kickstart/round/0000000000050ff2/0000000000150aac 四个解法: 暴力模拟 使用HashMap优化,理论时间复杂度最小(好像也是并查集) (推荐)使用BitSet,实际占用空间特别小,仅仅是 2mn 个比特大小 使用HashMap实现的并查集方法,在东南西北4个方向上用…
[2019多校联考(Round 6 T3)]脱单计划 (费用流) 题面 你是一家相亲机构的策划总监,在一次相亲活动中,有 n 个小区的若干男士和 n个小区的若干女士报名了这次活动,你需要将这些参与者两两匹配(只能男生和 女生相匹配),每个小区都提供了自己的地址,用二维平面上的坐标(x,y)来表示,若 A 男所在小区的地址为(x1,y1),B 女所在小区的地址为(x2,y2),由"距离产生美"可得,A 男不 B 女匹配的亲密值为他们的曼哈顿距离|x1-x2|+|y1-y2|,现在要求你确…
CF Round #580(div2)题解报告 T1 T2 水题,不管 T3 构造题,证明大约感性理解一下 我们想既然存在解 \(|a[n + i] - a[i]| = 1\) 这是必须要满足的 既然这样,那么图必须是这样的 \(-\),是相邻的两个数中的较小的一个,\(+\)是相邻的两个数中较大的 这样分配是肯定有解的 但是当n时偶数的时候,手玩一下就会发现,不可能满足+-交替,所以无解 #include<cstdio> #include<iostream> #include&l…
Codeforces Round #543 Div1题解 Codeforces A. Diana and Liana 给定一个长度为\(m\)的序列,你可以从中删去不超过\(m-n*k\)个元素,剩下的元素从左往右每\(k\)个一组,最后一组可以不满.给定你一个大小为\(|S|\)的可重集,要求你分出的组中至少有一组构成的可重集包含了给定的可重集. 构造一种符合条件的删数方案. \(n,m,k,|S|\le 5*10^5\) 写了\(1h\)才过,感觉身败名裂. 考虑枚举一个右端点\(r\),显…
Codeforces Round #545 Div1 题解 来写题解啦QwQ 本来想上红的,结果没做出D.... A. Skyscrapers CF1137A 题意 给定一个\(n*m\)的网格,每个格子里都有一个数,对于任意一行和任意一列,要求把这\(n+m-1\)个数重新用正整数编号,并且对于这一行,数与数之间的大小关系不变,对于这一列同理.求出任意一行和任意一列编号使用的最大编号的最小值. 题解 读题读半天... 看懂了题目就不难了. 对于每一行和每一列先分别离散,记录每个位置在离散后的值…
Codeforces Round #539 Div1 题解 听说这场很适合上分QwQ 然而太晚了QaQ A. Sasha and a Bit of Relax 翻译 有一个长度为\(n\)的数组,问有多少个长度为偶数的连续区间,使得其前一半的异或和等于后一半的异或和. 题解 显然就是求长度为偶数且异或和为\(0\)的区间个数 求异或和为\(0\)的区间个数很简单,对于整个区间求异或前缀和看看有多少个相等就好了. 求长度为偶数的也很简单,把每个位置的异或前缀和按照位置的奇偶性分开求个数每次计算一下…
CF Educational Round 78 (Div2)题解报告A~E A:Two Rival Students​ 依题意模拟即可 #include<bits/stdc++.h> using namespace std; int T; int n, x, a, b; int main() { cin >> T; while(T--) { cin >> n >> x >> a >> b; if(a > b) swap(a, b…
Comet OJ 2019 夏季欢乐赛题解 我是来骗访问量的 A 完全k叉树 \(n\)个点的完全k叉树的直径. 直接做 B 距离产生美 直接做 C 烤面包片 \(n!!!\mod p\) 显然\(n\)太大就是0,不然直接暴力 D 茶颜悦色 原题 E 飞行棋 最后肯定是起点->最后\(k\)个点->终点(弹回去->..->弹回去->..->终点) 矩乘做出起点到最后\(k\)个点的概率\(f_i\)与期望步数\(g_i\). 最后\(k\)个点任意一个点走到终点的期望…
Educational Codeforces Round 64 部分题解 不更了不更了 CF1156D 0-1-Tree 有一棵树,边权都是0或1.定义点对\(x,y(x\neq y)\)合法当且仅当树上\(x\)到\(y\)的路径权值是一段0接一段1.求合法点对数量. 直接点分治 我是傻逼居然还写了50min... https://codeforces.com/contest/1156/submission/53661175 CF1156E Special Segments of Permut…
[多校联考2019(Round 5)] [ATCoder3912]Xor Tree(状压dp) 题面 给出一棵n个点的树,每条边有边权v,每次操作选中两个点,将这两个点之间的路径上的边权全部异或某个值,求使得最终所有边权为0的最小操作次数. \(v \leq 15,n \leq 10^5\) 分析 首先把边权转化为点权.记一个点的点权为与它相连的所有边的边权和.当我们给一条路径上的边异或上某个值时,路径端点的点权被异或了1次,而路径上不是端点的点有两条边被异或了,相当于异或了2次,权值不变.因此…
[多校联考2019(Round 5)]蓝精灵的请求(二分图染色+背包) 题面 在山的那边海的那边住着 n 个蓝精灵,这 n 个蓝精灵之间有 m 对好友关系,现在蓝精灵们想要玩一个团队竞技游戏,需要分为两组进行,且每一组中任意两个蓝精灵都是好友.另外,他们还想要最小化每组蓝精灵内部的好友关系数之和.蓝精灵们怎么都想不到如何分组来进行游戏,所以找到你来帮助他们分组.(若第一组内部的好友关系数为 cnt1,第二组内部的好友关系数为 cnt2,则"每组蓝精灵内部的好友关系数之和"为 cnt1+…
CSP-S 2019 Day 2 T3 树的重心 题 给出了一个大小为\(n\)的树,树中结点从 1∼n 编号.小简单的课后作业是求出这棵树单独删去每条边后,分裂出的两个子树的重心编号和之和. \(n\le 10^5\) 思路 计算每一个点对答案单独的贡献. 删除一条边等价于把一个子树分裂出来,这个子树的根节点设为\(v\). 对于一个点\(x\),大致有以下几种情况. 它在被分裂出来的子树内(此时\(v\)是\(x\)的祖先或就是\(x\)) 被分裂出来的子树在\(x\)外 被分裂出来的子树在…
Educational Codeforces Round 64部分题解 A 题目大意:给定三角形(高等于低的等腰),正方形,圆,在满足其高,边长,半径最大(保证在上一个图形的内部)的前提下. 判断交点个数是否有限,如果有限,输出. 很明显当正方形套三角形或者三角形套正方形是交点个数是无限的(因为有一条边相交) 其他图形的嵌套交点个数比较好判断,不多赘述 但是注意坑点: 当按照矩形,园,三角这样的顺序是,三角与圆的一个交点是与圆和正方形的交点重合的,判一下就好了 #include<cstdio>…
[题解]Comet OJ Round 70 简要题解 A 将放在地上的书按照从小到大排序后,问题的本质就变成了合并两个序列使得字典序最小.可以直接模拟归并排序.直接用循环和std::merge实现这个过程.复杂度\(O(n)\) //@winlere #include<cstdio> #include<algorithm> using namespace std; int data[100003],in[100003],data2[100003],ans[100003],cnt,n…
a.链接:https://codingcompetitions.withgoogle.com/kickstart/round/0000000000050e01/00000000000698d6 题意:有n个学生,要从里面选出p个来.每一个学生都有一个能力值. 要求你选出来的一组学生能力是相同的,有的学生能力比较低,所以需要花费你的时间来提升学生能力,一个学生提升1个能力值需要1小时. 求最低花费. 方法:因为只能提高学生的能力值,不能降低,所以一定是选择能力值挨着的那些.将数组排序,然后计算前p…
codeforces Round #541 abstract: I构造题可能代码简单证明很难 II拓扑排序 III并查集 启发式排序,带链表 IV dp 处理字符串递推问题 V 数据结构巧用:于二叉树同构 VI更新了头文件,将很难敲的东西放到define里面,初始化数组可以a[100]={}; C 题意 给你100个人,让你将它们围成一个圆,使得:"任意相邻的两人身高差的绝对值" 中的最大值 最小 题解 显然的构造方法:先排序,让所有人1 2 报数,报2的出列,排尾变排头接到报 1 的…
Codeforces Global Round 1 题目链接:https://codeforces.com/contest/1110 A. Parity 题意: 给出{ak},b,k,判断a1*b^(k-1)+a2*b^(k-2)+...+ak*b^0的奇偶性. 题解: 暴力求模2意义下的值就好了. 代码如下: #include <bits/stdc++.h> using namespace std; typedef long long ll; ; int n; int b,k; int a[…
Day1 考的不是很好,T1T2没区分度,T3想的太少,考试后期几乎都是在摸鱼,bitset乱搞也不敢打,只拿到了35分,跟前面的差距很大 A. 最大或 标签: 二进制+贪心 题解: 首先x,y中一定有一个是R,考虑L的取值:对于每一位分为x中有没有讨论: 1>有 如果这一位不加以后全加可以>=L则不选,否则选 2>没有 如果这一位选上以后全不加也无法<=R则不选,否则选 因为位数从高到低枚举,所以贪心是正确的 B. 答题 标签: 折半搜索+二分 题解: 2<=n<=4…
写在前面: 虽然拿到了rk1,但是T3被卡常TLE90分,(考后再交就A了!?),lemon80,又丢失了一次良好的AK机会, 掐头去尾距离联赛仅剩2天,最近中午一直睡不好,可能是有些紧张, 希望自己接下来几天能放平心态,从吾心,尽吾力就好. A. 装饰 标签: 规律 题解: 假设a为最大值 1>a<=2*(b+c) ans=(a+b+c)/3 这种情况下不会出现a 0 0的情况,答案就是(a+b+c)/3 2>otherwise ans=b+c 反之,最多b+c次之后就会用完b,c,所…
非常颓写不动题怎么办…… 写下这篇博客警示自己吧…… 游记 7.16 我并不在广二参加 NOI,而是在距离广二体育馆一公里远的包间打同步赛(其实就是给写不动题找个理由) 上午身体不舒服,鸽了半天才看题. T1 题意这么长?懒得看啊,但还是硬着头皮看了 这……dp?$Ax^2+Bx+C$?这个式子怎么处理来着?斜率优化?会了 (其实我tm验证了一小时这个做法) 然后发现直接做的复杂度是 $O(nq)$ 的? 时间上倒没问题,可是开一个大小为 $1e8$ 的 $dp$ 数组和斜优数组,空间不就爆了?…