首页 > 其他分享 >2024某校新生校队选拔赛题解

2024某校新生校队选拔赛题解

时间:2024-10-15 21:01:54浏览次数:9  
标签:度数 lfloor geq 题解 sqrt 某校 端点 校队

游记

某校某院与某院联合培养机制给排了两场讲座,讲完吃饭,讲座时间\(8:00-12:00,\)拖堂\(10\)min,到食堂\(10\)min,吃饭\(30\)min,走回去\(10\)min,打开网址发现时间只够看榜的
一看榜我草\(5\)小时连\(4\)个题都做不出来
翻题面发现A,L纯签到,B半签到,遂确信成分

题解

题目链接

A

验证是否\(\prod\limits^{n}_ {i=1}a_{i}\leq 10^7\cdot m\)即可

B

判断条件:
\(1.\sum\limits_{i=1}^{n}a_i\equiv 0\pmod{3}\)
很显然,如果你要分给3个人一样的整数块糖果,那总数必然是这个整数乘\(3\),也就是总数为\(3\)的倍数

构造:
首先要把所有\(2\)和\(3\)均分,这是一切的基础
然后考虑\(3\)的情况:
不剩\(3\)自然万事大吉
剩两个\(3\),一堆拿出两个\(2\)换成两个\(3\),拿出来的两个\(2\)均分到没动的两堆
如果每堆只有一个\(2\)那就寄
剩一个\(3\),
先三堆各自拿出一个\(3\)来准备换
然后选两堆把一个\(2\)换成一个\(3\),拿出来的两个\(2\)给到没动的那堆
如果总共只有一个\(3\),不能让三堆各自拿出来还是寄

C

构造考虑格雷码
a[i]=lowbit(i)
嗯,现成的构造方法
至于有没有解,其实是看\(x\geq 2^{\lfloor\log_{2} n\rfloor}\)
为啥呢?因为lowbit函数取得的值\(l\leq n\)显然成立,等号只会是\(n=2^t,t\in \mathbb{N}\)
这里边\(t\)的取值集合显然是\(\left\{ t\in \mathbb{N}|t\in [0,\lfloor\log_{2} n\rfloor]\right\}\)
最大的那个数就是\(2^t,t=\lfloor\log_{2} n\rfloor\)
所以\(x\geq 2^{\lfloor\log_{2} n\rfloor}\)才能有解

D

傻逼贪心
每个订单选能用的最大的
鉴于减免限制小的红包可以用在金额大的订单上,反之不能,所以先把减免限制小的加进取值集合里
然后红包金额排序,挨个扫就完事了

E

没看明白,题面连着题解都是依托
照着题解写代码结果没过。

F

看着像大模拟,其实不是
对于每一列,维护一个数组表示考虑到当前行最终情况下石头的最高点
空行不管
一旦遇到新的石头,取石头所在区间当前所有最高点的最大值,然后把这些区间的最高点统一更新成当前石头的最高位置

G

就给边定向完了之后根号分治
边定向规则
度数小指向度数大,度数相同编号小指向编号大
这样定出来边之后一定是\(\text{DAG}\)
证明就是如果度数不变的话从编号小的点出发走边一定到编号更大的点,回不去的
度数变化也一定是度数从小变大,因为没有往回的边
取完以后枚举即可
然后是根号分治的思路:
度数大于\(\sqrt{m}\)的点个数不超过\(\sqrt{m}\)个
那么这些度数大于\(\sqrt{m}\)的点至多能和\(\sqrt{m}\)个点连边,因为连有向边要求度数小向度数大连
如果度数小于\(\sqrt{m}\),那么这些度数不会全部变成出度,所以边数至多\(\sqrt{m}\)
所以枚举每个点时间复杂度\(O(\sqrt{m})\)
总时间复杂度\(O(m\sqrt{m})\)

H

官方做法是哈希,
大概预处理之后去个重然后类似字符串哈希干就完了
但是\(O(n)\)做法还有双指针
对于每个\(x\),能够符合条件的\(y\)必然是个连续段,而且满足左右端点各自单调不减

维护两个数组\(c,d\),
\(c_i\)表示第\(c_i\)种糖果是否在\(a\)中当前位置出现过
\(d_i\)表示第\(d_i\)种糖果在\(b\)有没有出现过,就是一个要左端点动,一个要右端点动
移动指针:左指针\(l\)右移,一直移到当前位置的糖果出现在\(b\)中
右指针\(r\)右移,只要\(b_{r+1}\)在\(a\)中已经出现过
至于如果出现不同元素的话,
由于不在已有集合中,右端点不动
同理,左端点会一直往右找,这样就必然造成\(l>r\)

题解还有莫队做法,怕是学数据结构学傻了
直接双指针就可做了,还硬要分个块,没有观察到可行区间端点各自不减的性质吗

I

二分图博弈
二分图的话挺板子的,因为建图挺板子
和"跳马问题"相关的,基本上就是二分图
证明一律考虑\(gcd(a,b)=1\)的情况,别的情况同除\(gcd(a,b)\)
一奇一偶按行列之和划分,奇数和偶数构成二分的点集
两个奇数按行号划分,奇数和偶数构成相应点集
博弈的结论:
如果起始点在所有最大匹配里,先手必胜,否则后手必胜(证明不会)
找起始点是不是在所有最大匹配里,直接匈牙利两遍,带一遍起点,另一遍不带
如果最大匹配不是同一个就寄

J

诈骗题
真正搞人的地方就是操作不影响结果

K

诈骗题
这个题真正最搞的地方真就是拿python写个print(1)然后它过了
考虑到随机生成的数规模不小,并且\(n\geq 100\cdot k\geq 100\)
为什么不考虑会生成一个\(1\)呢?
就算不会生成\(1\),剩下的随机数里出两个数互质的概率会低吗?
显然并不
所以print(1)就是对的

L

A一样签到题
不过生写字数太多,扔了

标签:度数,lfloor,geq,题解,sqrt,某校,端点,校队
From: https://www.cnblogs.com/2K22/p/18460366

相关文章

  • Project Euler 457 题解
    初等数论小题目求\[n^2-3n-1\equiv0\pmod{p^2}\]配方,得到:\[(2n-3)^2\equiv13\pmod{p^2}\]根据亨泽尔引理,只需得到\((2n-3)^2\equiv13\pmod{p}\)的解即可提升到\(p^2\)。这是二次剩余,直接解。单次求解\(O(\logn)\),时间复杂度\(O(n)\)。#include<bits/stdc++.h......
  • TopCoder SRM616 ColorfulCoins 题解
    TopCoderSRM616ColorfulCoins题意给一套货币,保证任意两种货币存在倍数关系且颜色互不相同。已知货币的币值集合,每次可以询问一个金额,给出货币张数最小的表示方案。问最小的询问次数,使得通过已知信息可以对应货币面值和颜色。分析最大的面值问一个\(\inf\)即可。这时只需要......
  • [ABC062C]/[ARC074A] Chocolate Bar 题解
    神秘分讨题(?总共\(4\)中情况。第一种:三个竖的并列:ans=min(ans,(h%3>0)*w);。第二种:三个横的并列:ans=min(ans,(w%3>0)*h);。第三种:一个横的矩形,然后是两个竖着的。For(i,1,h){ intfst=i*w; intscd=(w/2)*(h-i); intthd=(w%2>0)*(h-i)+(w/2)*(h-i); ans=min(ans......
  • 堆排序题解
    给定一个整数序列,请按非递减序输出采用堆排序的各趟排序后的结果。输入格式:测试数据有多组,处理到文件尾。每组测试数据第一行输入一个整数n(1≤n≤100),第二行输入n个整数。输出格式:对于每组测试,输出若干行,每行是一趟排序后的结果,每行的每两个数据之间留一个空格。输入样例......
  • 「题解」Educational Codeforces Round 170 (Rated for Div. 2)
    before我不想写作业呜呜。A.TwoScreensProblemA.TwoScreensSol&Code理解题意后发现使用复制的方法完成最长公共前缀即可。#include<bits/stdc++.h>typedeflonglongll;typedefstd::pair<int,int>pii;intT;std::strings1,s2;intmain(){scanf("%d"......
  • CF1955G GCD on a grid 题解
    洛谷链接我们暴力枚举可能的答案\(k\),然后跑一边dp。设\(f_{i,j}\)表示在格子\((i,j)\)是否可以满足有一条路径可以到达该格子且该格子是否为\(k\)的倍数,递推式即为\(f_{i,j}=(k\mida_{i,j}\operatorname{and}(f_{i-1,j}\operatorname{or}f_{i,j-1}))\)最后的答......
  • ARC156C 题解
    blog。显然答案为\(0\)不行。打表发现最优答案总为\(1\)。考虑构造取到\(1\)的下界。观察到,\(\text{LCS}\le1\)等价于去掉两序列都不存在的数后,两序列完全相反。于是有:在\(\{x\},\{y\}\)后增加两序列都不存在的数,不影响LCS。进行\(\{x\}\to\{a,x,b\},\{y\}\to\{b,......
  • # Educational Codeforces Round 170 (Rated for Div. 2) 题解D
    EducationalCodeforcesRound170(RatedforDiv.2)题解DD.AttributeChecks链接:Problem-D-Codeforces思路:由于\(m\)还有\(abs(r[i])\)很小,考虑dp因为每个0能对后面多少个check做出贡献是固定的,所以预处理因为我们每次的0的个数是单调不减的所以,我们上一次......
  • 【题解】P3917 异或序列
    传送门也算是一个有关于异或的小trick吧,简单记录一下。可以维护原序列的前缀异或和\(sum\),于是原题答案贡献变为\(\sum\limits_{i=1}^n\sum\limits_{j=i}^nsum_j\oplussum_{i-1}\)。变形一下为\(\sum\limits_{i=0}^{n-1}\sum\limits_{j=1}^{i+1}sum_i\oplussum_{j}......
  • [TJOI2019] 甲苯先生的字符串 题解
    T2[TJOI2019]甲苯先生的字符串矩阵乘法优化DP,所以一般来说这种DP都不怎么难。30pts的DP是裸的:设\(f_{i,j}\)为前\(i\)位、最后一位是\(j\)的方案数,则有转移方程:\[f_{i,j}=\sum_{k=0}^{25}f_{i-1,k}\landk\nej\]想要矩阵优化,我们想到构造答案矩阵:\[\mathit{an......