【Gym 100971G】Repair】的更多相关文章

BUPT 2017 summer training (for 16) #1B 题意 Alex is repairing his country house. He has a rectangular metal sheet of size a × b. He has to cut two rectangular sheets of sizes \(a_1\) × $b_1 $and \(a_2\) × \(b_2\) from it. All cuts must be parallel to t…
BUPT2017 wintertraining(15) #4H Gym - 101116K 题意 给定一个菜谱,大写的单词代表混合物,小写的代表基础原料.每个混合物由其它混合物或基础原料组成,不会间接或直接地需要自己.制备每个混合物必须先制备组成它的混合物.且混合物都要用一个碗装,当它作为原料去合成其它混合物后,碗就空出来了.求合成第一个混合物最少需要用几个碗. 题解 假设合成一个混合物需要dfs(i)个碗. 因为最后需要合成第一个混合物,所以我们以它为根进行dfs. 假设当前混合物的原料里有t…
BUPT2017 wintertraining(15) #4G Gym - 101124 E.Dance Party 题意 有c种颜色,每个颜色最多分配给两个人,有M个男士,F个女士,求至少一对男士同色的概率. \((1 \le C, M, F \le 10^9; M + F \le 2C)\) 题解 反面比较好求的,也就是不存在男男同色的概率. 假设每个男士依次选择剩下的颜色,第一个人有2C种选择,当前不同色的概率是1,第二个人有2C-1种选择,当前不同色的概率是(2C-2)/(2C-1),第…
BUPT2017 wintertraining(15) #4F Gym - 101124A 题意 给定画框宽度,画的四边和一个对角线长度,求画框外沿周长. 题解 过顶点做画框的垂线,每个角都得到两个全等直角三角形.然后用余弦公式求得四个角,再在直角三角形中计算出比内沿多出来的长度,加上画的四边长度即可. 代码 #include <cstdio> #include <cstring> #include <algorithm> #include <cmath>…
BUPT2017 wintertraining(15) #4E Gym - 101138K 题意 N节车厢的火车,每节车厢容量是1~K,那么有\(K^N\)种火车. 求选择D个连续的且容量相同的车厢的方案恰为T种的火车有多少种 模\(10^9+7\). (1 ≤ D ≤ n ≤ 3333, 0 ≤ T ≤ N - D + 1, 1 ≤ K ≤ \(10^9\)). 题解 \(f[i][j]\)表示前i节车厢,恰有j种选择方案的火车数量,那么 初始条件:\(f[0][0]=1\) 状态转移: 我们…
BUPT2017 wintertraining(15) 4 D Gym - 101138J 数据 题意 n个节点的一棵树,每个节点的权值为g,q个询问,树上的节点U-V,求U到V的路径的最大子段和. 题解 先考虑这么一个问题:求区间[L,R]的最大子段和. q个询问,用线段树可以做到每个询问的时间是O(log n). 线段树的节点x代表区间[L,R],我们要存这些值: sum: 区间[L,R]的总和 s: 区间[L,R]的最大子段和 suml: 最大前缀和 sumr: 最大后缀和 叶子节点这些值…
BUPT2017 wintertraining(15) #4 C Gym - 101138F 题意 初始高度0,目标值h,第i天目标值会下降i,当前高度会改变a[i%n],求高度不小于目标值的最早的时间. 题解 假设最早时间是bn+k天,那么 \(h-(bn+k) (bn+k+1)/2 \le bs[n]+s[k]\) 化成关于b的一元二次不等式,求根公式可以求得最小的整数解. 但是要用long double,否则会WA. 代码 #include <cstdio> #include <c…
BUPT2017 wintertraining(15) #4B Gym - 101138D 题意 a数组大小为n.(1 ≤ n ≤ 50 000) (1 ≤ q ≤ 50 000)(1 ≤ ai ≤ n) q个查询,询问两个区间相同的数有多少对. 题解 [sl,sr]和[tl,tr]区间相同的数的对数可以用\(f[sl,tr]-f[sl,tl]-f[sr,tr]+f[sr,tr]\)计算.\(f[l,r]\)为区间[l,r]内相同的数的对数. 对于每个询问,记录需要计算的f的区间,然后按l/sq…
BUPT2017 wintertraining(15) #4 A - I.Cubes Gym - 101164I 题意 将n拆成最少个立方数相加的形式. 题解 根据n的范围,立方数最大不超过400的立方,并且个数也不会很多. dfs,设置一个深度的上限up.从大到小枚举立方数,剪枝条件:当前层数加上至少还需要的层数>=up就return. 代码 #include <cstdio> #include <cstring> using namespace std; int n,c[…
vp了一场gym,我又开心地划水了. A. Coloring Roads 题意:给定一棵树,树边一开始都是无色的,每次操作可以把一个点到根的路径染成某个颜色,每次询问当前树上出现过某个次数的颜色种数. 题解:看到操作与$Access$类似,考虑使用$lct$解决.由于一条重链的颜色一定是相同的,也就是一棵$splay$中的颜色都是相同的,所以$Access$时每次把整棵$splay$修改掉算一下变化就好了. #include <bits/stdc++.h> using namespace st…
Mihahim has a string s. He wants to delete exactly one character from it so that the resulting string would be a palindrome. Determine if he can do it, and if he can, what character should be deleted. Input The input contains a string s of length (2 …
分两类,奇数和偶数的,用隔项前缀和算一下. #include <algorithm> #include <iostream> #define N 10005 using namespace std; long long a,t,n,s[N],ans; int main(){ cin>>t; while(t--){ cin>>n>>s[1]; for(int i=2;i<=n;i++){ cin>>a; s[i]=a+s[i-2]…
第一次做交互题. 题意是有n个数(n<1000),你通过问1 a b,后台返回你YES代表a<b,NO代表a>b.要你在10000次询问内给出一个符合的排列.n=1000来说,10000其实就是大约nlogn. 所以需要一个时间复杂度稳定为nlogn的排序,每次询问的结果对应cmp函数的返回值.然后顺便了解一下stable sort: 稳定排序,它的这个稳定,主要是两个相同的元素,它不会改变原来的相对位置. 它是怎么判断两个元素是否相同的呢? cmp(x,y) ==0 &&…
从(1,1)到(n,m),每次向右或向下走一步,,不能经过(x,y),求走的方案数取模.可以经过(x,y)则相当于m+n步里面选n步必须向下走,方案数为 C((m−1)+(n−1),n−1) 再考虑其中经过(x,y)的方案数,也就是(1,1)到(x,y)的方案乘上(x,y)到(n,m)的方案,为 C((x−1)+(y−1),x−1)×C((n−x)+(m−y),n−x) 于是答案就是下式取模 C(m+n−2,n−1)−C(x+y−2,x−1)×C(n−x+m−y,n−x) m和n大到10的五次方…
题意 题目链接给你一个地图,'#'代表水,'.'代表陆地,'?'代表擦去的地图,可能是'#'也可能是'.'.地图中本该只有一块相连的陆地,若只有一种方案则输出确定的地图.若有多种方案,则输出‘Ambiguous’,若无答案,则输出‘Impossible’. 分析 将所有‘.’进行dfs扫一遍,dfs时遇到的‘?’当作'.',因为被'#'包围的'?'一定代表‘#’.一边记录相连的陆地数量b,一边记录当前相连陆地的总格数s0.如果b==1,就对每个遇到过的'?',将其置为'#‘,再dfs一遍,如果扫…
题意 链接给你一个n*m的地图,'#'代表墙,‘.’代表可走的,1代表1号机器人,2代表2号机器人,机器人可以上下左右移动到非墙的位置,但不能走到另一个机器人身上.问能否交换1和2的位置. 分析 如果1和2之间有路径且路径上某个点的度大于2,那就是YES,如果1和2的路径构成一个回路也是YES.其他情况就是NO. 代码 #include<cstdio> #define N 200005 int n,m,ux,uy,ax,ay,a[N],u[N],ck,ans,fx[4]= {1,-1,0,0}…
题 题意 对给定的对手的出拳顺序,如果只能按几个R,然后几个P,再几个S的顺序出拳(几个也可以是0个),那么求赢的方法有多少种. 分析 我原来想枚举P开始的位置和S开始的位置然后算得分,但是超时了o(╯□╰)o..因为时间复杂度T(n^3)最大规模是500,而这里n≤1000. 用前缀和思想,s[i][0到2]储存前i个里有几个R.S.P,然后再枚举P.S开始位置为i.j: 0到i-1是R的时候,对方是S,我得分,可以得到s[i-1][1]分,对方是P,我失分,失去s[i-1][2]分,同理最后…
题 题意 解题数目越多越排前,解题数目相同罚时越少越排前,求排第一的队伍名字. 分析 用结构体排序. 代码 #include<cstdio> #include<algorithm> using namespace std; struct team { char name[25]; int s,p; } a[105]; int t,n; int cmp(team a,team b) { return a.s>b.s||a.s==b.s&&a.p<b.p;…
题 题意 Sonny出石头剪刀布的猜拳策略是 先出R,然后每连续两段都是打败前一段的出拳, 现在问你第n回合打败他要出什么. 分析 他的策略 R P S PSR  SRP PSRSRPRPS SRPRPSPSR … … 打败他的策略是 P S R SRP  RPS SRPRPSPSR RPRPSRSRP … … 一套策略 1 1 1 3 3 9 9  … … 第几轮 1 2 3 4-6  7-9  10-18 19-27 … … 如果n是介于3的某个次方的(1,2]倍,那就是n要打败 n减去这个…
题 There are 2N white balls on a table in two rows, making a nice 2-by-N rectangle. Jon has a big paint bucketfull of black paint. (Don’t ask why.) He wants to paint all the balls black, but he would like to have somemath fun while doing it. (Again, d…
题 Andrea is a famous science fiction writer, who runs masterclasses for her beloved readers. The most popular one is the Alien Communication Masterclass (ACM), where she teaches how to behave if you encounter alien life forms or at least alien artifa…
题 Shi realized that he was almost out of money, even renting Shitalian lands. Shi was walking on a street, while thinking of a way to recover his fortune. In his way, he passed by a jewelry store. The owner of the store was a Shitalian man suspected…
BUPT 2017 summer training (for 16) #1D 题意 找到n个数里面有多少对具有倍数关系.\(1 ≤ n ≤ 10^4,2 ≤ a_i ≤ 10^6\) 题解 枚举一个数,和它的倍数. 代码 #include <cstdio> #include <cstring> int n,t,b[1000001]; int main(){ scanf("%d",&t); while(t--){ memset(b,0,sizeof b);…
BUPT 2017 summer training (for 16) #1C 题意 A new computer scientist is trying to develop a new memory management system called "spiral memory management". The basic idea of this system is that it represents the memory as a 2D grid with a predefin…
BUPT2017 wintertraining(15) #7FMinimax Tree 题意 给你一棵多叉树,非叶子节点中分配k个为子节点的min函数,剩下的是max函数. 现在求根节点(1)的最大值和最小值. 题解 因为最大值和最小值求法对称,以求最小值为例. 要让尽量小的上来,可以贪心选择一条路前面都是min不够了后面就用max. 因为如果min上面有max,max换到下面不会更差. 但是这条前面都是min的路选哪一条呢?显然是最后一个min节点的子节点里max取最小的. 共k个min,所以…
BUPT2017 wintertraining(15) #7B 题意 n个点m条无向有权边(2 ≤ n ≤ 10^5, 1 ≤ m ≤ 10^5),每个点标记了0或1,求所有1中,最近的两个1的下标及距离. 题解 先用SPFA求出每个点离标记1的点最近的距离,d[i]. 同时记录下每个点最近的1的下标. 两个最近的1,要么是被一条边连着,要么是被几个0隔着的边连着. 我们通过寻找它们中间的边来找出它们. 枚举每条边,如果相邻都是1,或者都是0且最近的1不是同一个,或者一个1,一个0,那么这条边两…
BUPT2017 wintertraining(15) #7A 题意 给你一个图,n个点m条边,求走遍所有边,至少经过几次点,及输出依次经过的点.n and m (2 ≤ n ≤ 10^5, 1 ≤ m ≤ 2·10^5) 样例 Input 9 5 2 4 2 6 3 5 3 9 5 9 Output 7 3 9 5 3 6 2 4 Input 4 5 1 2 1 3 1 4 2 4 3 4 Output 6 4 3 1 4 2 1 题解 首先依次从度数为奇数的点出发,走完所有的链.接着把和链相…
题 There are 2N white balls on a table in two rows, making a nice 2-by-N rectangle. Jon has a big paint bucketfull of black paint. (Don’t ask why.) He wants to paint all the balls black, but he would like to have somemath fun while doing it. (Again, d…
题 Shi realized that he was almost out of money, even renting Shitalian lands. Shi was walking on a street, while thinking of a way to recover his fortune. In his way, he passed by a jewelry store. The owner of the store was a Shitalian man suspected…
Por Costel and Azerah Descriptions 给你n个数 问你,有多少个子序列 的和是偶数 Example Input 233 10 124 2 Output 33 题目链接 https://vjudge.net/problem/Gym-100923A   恶心死了   freopen("azerah.in","r",stdin); freopen("azerah.out","w",stdout); 必…