HGOI 20190519 题解】的更多相关文章

脑补了一下今天的比赛难度和之前zju-lzw出的题目画风迥异. 难度完全不是一个水平的好伐. Probem A palindrome 给出一个$n$个元素的数组,可以任意指定一个数字$m$让所有$a_i = a_i \% m$. 使得最终得出的数组成为形如$\{1,2,3,2,1\}$的回文数组,求最大的$m$. 对于100%的数据$1\leq n \leq 10^5,1 \leq a_i \leq 10^9$ Sol: 我们要求同余方程 $ \left\{\begin{matrix} a_1…
HGOI 20181028(复赛备考) /* 真是暴力的一天,最后一题MLE?由于数组开得太大了!!! 270滚粗 考场上好像智商高了很多?!(假的) */ sol:暴力求解,然后没有数据范围吐槽一下(我开了10000000) code:(100pts) # include <bits/stdc++.h> using namespace std; ; char s[MAXN]; int fun(char c) { ;;; ; ; ; ; } bool check(int l,int r) {…
/* 又是又双叒叕WA的一天... 我太弱鸡了... 今天上午打了4道CF */ Problem 1 meaning 给出q组询问,求下列函数的值$ f(a) = \max\limits_{0 < b < a} \{   gcd(a\oplus b,a \ \& \ b)\} $ 对于100%的数据 $q\leq 1000, 2 \leq a_i \leq 2^{25}-1$ 结论题,直接打表找结论,发现当$a \in [2^{n-1},2^{n}-2] (n \geq 2)$ 答案为…
/* 记一串数字真难. 5435 今天比赛又是hjcAK的一天. 今天开题顺序是312,在搞T1之前搞了T3 昨天某谷月赛真是毒瘤. 但是讲评的同学不错,起码T4看懂了... 构造最优状态然后DP的思路真妙 */ Problem A lcp 给出字符串S,m个询问,每个询问含有$l1,r1,l2,r2$求|S|子串$[l1,r1]$和$[l2,r2]$的LCP(最长公共前缀) 对于100%的数据$ 1 \leq |S|,m \leq 10^5 , l1 \leq r1 ,l2 \leq r2$…
/* The Most Important Things: ljc chat with fyh on QQTa说期末考Ta数学74分感觉不好但是我觉得fyh是地表最强的鸭~~(of course encourge her) About Today's Training: 玄学错误,没有开longlong+没有算好空间(还不如暴力) 还是得继续加油. 本来以为今天是AK局来着呢.. */ Problem A password 求$\sum\limits _{i=1} ^n i^2 2^i$ 的值,…
/* 又是AK局... hjc又双叒叕AK了... Hmmm...我侥幸 */ Problem A card 给出无序序列a[]可以选择一个数插入到合适的位置作为一次操作,至少多少次操作后可以把序列变成有序. 对于100%的数据,序列长度 $l\leq5e5$ Solution : 最长上升子序列(LIS)-n  这个是显然的结论,最优的话一定是保证LIS情况下,把除LIS外的数依次加到有序的LIS里面刚好加了这么多个. 所以答案是n-LIS,最优性显然: LIS保证需要插入的数字数量最少,而需…
/* for me,开训第一天 /beacuse 文化课太差被抓去补文化课了... 看一眼题 : AK局? 但是,Wa on test #10 in problem C 290! (就差那么一咪咪) 膜 _AK的_郝竟成 (id确实是这个) 说AK就AK了... 他踩了STD 阿! (我)下午溜出去社会实践3h(with hjc) */ 今天的题目好像都是一眼题: Problem A  百万小小兵(Millian) 问[1,n]和n不互质的数有几个? Solution: 在某同学在计算打表的时间…
problem:把一个可重集分成两个互异的不为空集合,两个集合里面的数相乘的gcd为1(将集合中所有元素的质因数没有交集) solution:显然本题并不是那么容易啊!考场上想了好久.. 其实转化为上面的题意就简单多了,对于每一个元素分解质因数,就是在筛质数的时候记下每一个合数的最小质因子low[x],然后每一次不停的除low[x] 得到一个合数x',然后继续除low[x']即可,然后我们统计出含有每一个质因子的数有哪些(用一个二维vector),然后具有同种质因子的数必须放在同一个集合里面,…
/* 又是爆0的一天(不知道今年高考难不难,反正今天(信息学)真的难!) */ solution:对于两个数相加,有一个显然的结论就是要么不进位(相对于位数大的),要么(进最多一位) 然后对于整个数组先排序,然后枚举每一个数,在它的前面找到和他相加进1位的点,讨论不变位和进一位累加求和即可 由于数列有序对于最左边的p满足f(a[p]+a[now])=f(a[now])+1对于他的右边所有的数都符合进一位的条件,这样可以二分查找找到最左端的点 # pragma GCC optimze() # in…
更好的阅读体验 来我的博客观看 T1-求余问题 Abu Tahun很喜欢回文. 一个数组若是回文的,那么它从前往后读和从后往前读都是一样的,比如数组{1},{1,1,1},{1,2,1},{1,3,2,3,1}都是回文数组,但是数组{11,3,5,11},{1,12}不是回文的. Abu Tahun有个包含n个整数的数组A,他想让它变成回文的.他可以任意选择一个整数m,然后让所有元素Ai变成Ai mod m. 求最大的m的值. 解法 显然,需要满足 a[1]===a[n](mod m) a[2]…