Yali7月集训Contest2 T1 Cube 题解】的更多相关文章

题目链接: 连我们都只有纸质题目...话说雅礼集训都是这样的吗... 大意 0维基本图形是一个点 1维基本图形是一条线段 2维基本图形是一个正方形 3维基本图形是一个正方体 4维基本图形是... 求\(n\)维基础图形中有多少个\(m\)维基础图形\((n>=m)\)并对\(998244353\)取模 分析 手玩样例打表吼啊 当然还是要暗中观察一下啦 线段变成正方形,点数变为原来两边,边数除了变为原来两倍之外还要加上原来点数所对应连起来的边 正方形变正方体也类似 于是我就yy出一个递推式\(nu…
Problem A: Small change 题解:http://www.cnblogs.com/crazyapple/p/3349469.html Problem B: Scoop water 题解:http://www.cnblogs.com/crazyapple/p/3349478.html Problem D: CX and girls 题解:http://www.cnblogs.com/crazyapple/p/3349480.html Problem F: ZZY and his…
直接上题解 #include<cstdio> #include<iostream> #include<cmath> #include<cstring> #include<algorithm> #define ll long long ,N=; ll jc[N+],jcny[N+],jcnys[N+],K[N+],p[N+],f[N+]; int read(){ ,f=;char ch=getchar(); ;ch=getchar();} +ch-…
思路:我们考虑如果取掉一个部分,那么能影响到最优解的只有离它最近的那两个部分. 因此我们考虑堆维护最小的部分,离散化离散掉区间,然后用线段树维护区间有没有雪,最后用平衡树在线段的左右端点上面维护最小的id 我讲的貌似不是很清楚.. 还有,蜜汁80分,打死也改不出来.. #include<cstdio> #include<cmath> #include<iostream> #include<cstring> #include<algorithm>…
[问题描述] 有一颗n个节点的树 每个节点上都有许多奸商在卖东西,第i个奸商的理想价格为vi,即他会以vi的价格购买或卖出一件东西 有m个人希望从树上的某个点走到另一个点,问你在只进行一次买卖(每次仅限一个商品)的情况下,每个人最多能赚多少钱 [输入] 输入第一行是一个整数 n,表示树上的点数. 接下来n个正整数,表示每个奸商的理想价格. 接下来n-1行,每行两个整数x,y,表示第x点和第y点有一条边. 接下来一个整数m,表示下来有m个询问. 接下来有m行,每行两个整数x和y,表示某个人要从第x…
[题解] x xor y的结果在二进制下有奇数个1,等价于x与y在二进制下的1的个数之和为奇数,因为x xor y减少的1的个数一定是偶数(两个数这一位都为1,xor的结果为0,减少了2个1) 那么答案就是序列中二进制下有奇数个1的数的个数 乘 二进制下有偶数个1的数的个数. 因为n有1e7,暴力算每个数二进制下1的个数是不行的.我们需要预处理0~2^15的Popcount,把每个数掐成高低两段统计. #include<cstdio> #include<cstring> #incl…
B: 牛牛战队的比赛地(二分做法)题意:二维平面给定n个点,在x轴找一点使得到n个点距离的最大值最小. 思路:我们可以将问题转化为在x轴找到一个圆心,使得该圆包含这n个点且半径最小,这样就变成了最小圆覆盖问题.有关于最大值最小此类问题,我们第一个想到的就应该是二分了,关键在于二分半径后如何check呢?首先我们需要明白这样一个前提,也是解题的关键点:一个半径为R的圆,我们任意在圆上或圆内找一个点,也做半径为R的圆,那么这个圆一定会包含之前那个圆的圆心.明白了这个,问题就easy了,我们将二分得到…
题目描述 有 n 个容量无穷大的水壶,它们从 1∼n 编号,初始时 i 号水壶中装有 Ai 单位的水. 你可以进行不超过 k 次操作,每次操作需要选择一个满足 1≤x≤n−1 的编号 x,然后把 x 号水壶中的水全部倒入 x+1 号水壶中. 最后你可以任意选择恰好一个水壶,并喝掉水壶中所有的水.现在请你求出,你最多能喝到多少单位的水. 输入格式 第一行一个正整数 n,表示水壶的个数. ​第二行一个非负整数 k,表示操作次数上限. ​第三行 n 个非负整数,相邻两个数用空格隔开,表示水壶的初始装水…
前言: 真的是不容易啊.这个题在考场上想到了最关键的性质,但是没写出来. 后来写出来,一直调,小错不断. 没想到改的最后一个错误是两个int 乘起来爆了int 其实最后我还是觉得复杂度很假.\(n^2\) 过百万. 此处对拍使用了DeepinC的代码,计算正确答案使用了硕队和张大仙的代码,感谢. 不过我感觉写的太罗嗦了,200行. 解析: 容易发现,每个建筑长高,当且仅当它左右都比它高.于是考场上我扫了一边,拿到了0分的好成绩. 因为如果这样想的话,一个建筑是可以长高多次的.假如有一个序列 \(…
思路:考试的时候打了LCT,自以为能过,没想到只能过80.. 考完一想:lct的做法点数是100W,就算是nlogn也会T. 讲一下lct的做法把:首先如果一条边连接的两个点都在同一个联通块内,那么这条边对答案没有影响,可以忽略,因此,问题变成了每次询问两个点中路径上权值最大的边(这里的权值我们令它为加入这条边的时间),边我们用一个点连接两个端点来表示. 正解:由于是无根树,因此我们用并查集按秩合并,每次把小的加到大的里面去,询问的时候暴力走lct查找最大即可. #include<cstdio>…
思路:转换成n条三维空间的直线,求最大的集合使得两两有交点. 有两种情况:第一种是以某2条直线为平面,这时候只要统计这个平面上有几条斜率不同的直线就可以了 还有一种是全部交于同一点,这个也只要判断就可以了. 然后我并不能改出来,wa了好多个点 WA的程序: #include<cstdio> #include<iostream> #include<cmath> #include<cstring> #include<algorithm> #defin…
题意:有一堆兔子,还有一个r为半径的圆,要求找到最大集合满足这个集合里的兔子两两连边的直线不经过圆. 思路:发现如果有两个点之间连边不经过圆,那么他们到圆的切线会构成一段区间,那么这两个点的区间一定会有交集,形如s0 s1 e0 e1 同样的,如果是n个点,那就是s0 s1 s2..sn e0 e1 e2.. en 因此,我们枚举那个起始点,然后对于其他点我们按照s排序,对于e做最长上升子序列即可.时间复杂度O(n^2 logn) #include <cstdio> #include <…
Reverse 题目背景 小\(\text{G}\)有一个长度为\(n\)的\(01\)串\(T\),其中只有\(T_S=1\),其余位置都是\(0\).现在小\(\text{G}\)可以进行若干次以下操作: • 选择一个长度为\(K\)的连续子串(\(K\)是给定的常数),翻转这个子串. 对于每个\(i,i\in [1,n]\),小\(\text{G}\)想知道最少要进行多少次操作使得\(T_i=1\).特别的,有\(m\)个"禁止位置",你需要保证在操作过程中\(1\)始终不在任何…
Merchant 题目描述 有\(n\)个物品,第\(i\)个物品有两个属性\(k_i,b_i\),表示它在时刻\(x\)的价值为\(k_i\times x+b_i\). 当前处于时刻\(0\),你可以选择不超过\(m\)个物品,使得存在某个整数时刻\(t,t≥ 0\),你选择的所有物品的总价值大于等于\(S\). 给出\(S\),求\(t\)的最小值. 输入输出格式 输入格式 第一行三个整数\(n,m,S\). 接下来\(n\)行,第\(i\)行两个整数\(k_i,b_i\). 输出格式 一行…
养花 题目描述 小\(C\)在家种了\(n\)盆花,每盆花有一个艳丽度\(a_i\). 在接下来的\(m\)天中,每天早晨他会从一段编号连续的花中选择一盆摆放在客厅, 并在晚上放回. 同时每天有特定的光照强度\(k_i\), 如果这一天里摆放在客厅的花艳丽度为\(x\), 则他能获得的喜悦度为\(x\ \mathrm{mod}\ k_i\). 他希望知道, 每一天他能获得的最大喜悦度是多少. 输出输出格式 输入格式 数据第一行包含两个正整数\(n,m\). 接下来一行\(n\)个正整数, 第\(…
题意: 现在有一个长度为 n的升序数组 arr 和一个数 x,你需要在 arr 中插入 x. 你可以询问 x 跟 arri 的大小关系,保证所有 arri 和 x 互不相同.这次询问的代价为 costi. 你需要返回 x 应该插入的位置,显然有 n+1 中可能的返回值. 现在给你 cost 数组,你需要制定方案,使得对于所有可能的情况花费代价(即询问的代价的和)的最大值最小,输出这个最小值. 制定方案的意思就是说你先询问一个 i,然后根据返回值决定接下来询问哪个 i,直到你可以确定答案为止. 分…
题意: 给定 n,s,求有多少个字符集大小为 s ,长度为 n 的字符串,使得其不存在一个长度大于 1 的回文后缀. 答案对 m 取模. 分析: 考场见到计数题的链式反应,想写暴力—>暴力难写—>不会暴力—>弃疗—>爆零. 今天考试也不例外.但是逐渐思想过于摸化,没想到今天T2这么简单的一个递推,竟然不会写,我好弱啊,大概是学废了. 对于这道题目,我们想到,后缀其实就是前缀(把字符串倒过来即可)我们设f[i]表示长度为i的满足题意的最长回文前缀是1的字符串有多少个,f[0]=1,在…
蒟蒻只能打一打DIV2的基础题 太卑微了 这道题的本质其实是再建一个数组,如果s串i位置是0那么就给a[i]赋值为1,表示要累加个数,如果是1那么就把a[i]赋值为-1,表示个数减一,最后求最大子段和,那么就可以O(n)实现了. 附上最大子段和blog链接https://blog.csdn.net/weixin_40170902/article/details/80585218 #include<bits/stdc++.h> #define R register int using names…
说实话,今天的题真的有点难! ~备受打击~ 我们先来看一看第一题吧 看起来好像不太简单,其实并不难 下面来提供两种方法吧 1.做法一 //签到题 /* 那么这一题就是告诉你n个点的坐标,把它们分别放到 0,0 0,1 0,2  ... 0,n-1每一次可以把一个点向上下左右移动单位长度 那么我们可以先把他们到横轴的距离先累加起来相当于都移动到了横轴上我们可以贪心地想一下已经到位的点肯定最好就不要动啦然后把剩下的点的x坐标进行排序 然后插到空儿里*/#include<bits/stdc++.h>…
前言: WTCL,居然折磨煎蛋的性质都忘记了,WTCL. 考场上想出来了正解,就差一点就能A掉,挺难受的. 要记住一个数n可能会有一个大于\(\sqrt{n}\)的质因子..我忘记把它加进去了.... 解析: 相似三角形是很显然的. 最后式子变成\(\frac{i^2}{n},i\in[1,n-1]\) . 求令这个式子是整数的i的个数. 显然把n分解质因数,因为上面是\(i^2\) 所以,假设n中有一个\(p^j\),那么i中至少要有\(p^{\lceil\frac{j}{2}\rceil}\…
前言: 数学题,对于我这种菜B还是需要多磨啊 Simple 首先它问不是好数的数量,可以转化为用总数量减去是好数的数量. 求"好数"的数量: 由裴蜀定理得,如果某个数\(i\)不能整除\(gcd(n,m)\),那么一定不是好数. 所以,我们把\(n,m,q\)分别除以\(gcd(n,m)\),是不影响得出的"好数"数量的. 好,那么现在\(n,m\)就互质了. 现在,就把问题转化为了(用比较形象化的语言来说,就是)有\(n,m\)互质,求\([1,q]\)中有多少个…
T1 jkl 题解 显然每次都取a[i]的最大值/最小值,并更新a[i]即可 用数据结构维护这一操作..得分看常数 事实上用v[i]记录权值为i的个数,然后for乱搞就可以了... 其它乱搞做法能获得不同的分数 提供一种50分解法 排序后 最小值,从左依次取到0 最大值,一直取最右的那个,如果它变得比前面的小就交换位置... #include<iostream> #include<cstdio> #include<cstring> #include<cstdlib…
T1.exercise 题解 数据很小直接模拟 代码 #include<iostream> #include<cstdio> #include<cmath> #include<cstdlib> #include<cstring> #include<map> #define ll long long using namespace std; int read() { int x=0,f=1;char ch=getchar(); whil…
洛谷9月月赛2 t1 题意:懒得说了 分析:模拟 代码: program flag; var a:..,..]of char; n,i,m,j,x,y,ans,k:longint; begin assign(input,'flag.in'); reset(input); assign(output,'flag.out'); rewrite(output); readln(n,m); to n do begin to m do read(a[i,j]); readln; end; k:=maxlo…
被疯狂造谣+请家长 但生活还得继续 ...今天的题口胡一下吧明天码 PKUSC2018 D1T1 对于x:若x不翻,则x的一半到x的数都不能翻 若x翻,则x到2x都得翻 剩下随便安排 排列组合一下 PKUSC2018 D1T2 考虑状压dp sum[state]表示选的数状态为state的数值和 f[i]表示i状态的最大前缀和就是i的方案数$k∉i and sum_i>0:f_i→f_{i+k}$ g[i]表示i状态前缀和始终小于0的方案数$k∉i and sum_{i+k}≤0:g_i→g_{…
雅礼集训2017Day2 T1 给你一个水箱,水箱里有n-1个挡板,水遵循物理定律 给你m个条件,表示第i个格子上面y+1高度的地方有或没有水 现在给你无限的水从任意地方往下倒,问最多满足多少条件 n,m 1e5 SOL: 考虑答案的表示方法,肯定是类似于dp["区间1到n"]这种的 “区间1到n”这个东西我们可以状压,就过了20% 另外10%的数据只有“有水”的条件 我们cout<<m 另外30%的n平方做法肯定是要用到dp(我没有想出来这个东西怎么搞到n平方) ...…
考试 日常爆炸= = T1 一看就是个树规,然而不会写方程= = T2 一看就是个分块,然而不会分= = T3 终于有点头绪,推了两个小时的30分部分分情况,然后打挂了= = 我玩个鬼啊 其实听完,觉得这题真简单= =,完全可以ak,然而就是那思路上的一点差距,或者就是不敢那么打,导致最后的爆炸 就写了一篇T1的题解,凑合着看吧(其实写的挺好的) T1 Evensgn 剪树枝 刷题 老师扔了一大圈不可做的图论题,然后我只能默默寻找可做的题,然后发现自己连堆优化二维SPFA(据byb说这东西不存在…
date()函数: PHP date()  参考:https://www.hi-docs.com/php/date.html Linux date()参考:http://www.cnblogs.com/barrychiao/archive/2012/10/08/2715808.html 获取某时间段以周.月.季度为粒度的时间段数组 function getdays($day){//指定天的周一和周天 $lastday=date('Y-m-d',strtotime("$day Sunday&quo…
Restore Cube 题解: x->yyy 其实就是把x代替成yyy这个值. 如果不好理解的话, 可以试想一下, 刚开始的话 0->0, 1->1, 2->2,...,9->9. 现在有一条指令 1->23 那么就是就是0->0, 1->23, 2->2,...,9->9. 现在又有一条指令2->45 那么就相当于0->0, 1->453, 2->45,...,9->9. 就相当于我们求出0~9每个数字分别代表的…
目录 「题解」「美团 CodeM 资格赛」跳格子 题目描述 考场思路 思路分析及正解代码 「题解」「美团 CodeM 资格赛」跳格子 今天真的考自闭了... \(T1\) 花了 \(2h\) 都没有搞定,最后无奈 \(90pts\) . 然而 \(T2\) 想到很多很奇怪的做法,结果正解在 \(28min\) 之内做出... 结果 \(T3\) 是本人最不擅长的伪期望,直接跳过,啥都没得. 来水一发 \(T1\) 的题解... 题目描述 点这里 考场思路 其实并没有什么十分特别的思路,就是一通乱…