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

Problem A  旅行者 有$n$种转移装置,每种转移装置本质相同,每种装置可以前进$a_i$单位,但只有$b_i$个. 从初始坐标为$0$出发,途中不能经过$c_1,c2,...,c_m$中的任意一个点. 走到$\sum\limits_{i = 1}^n a_ib_i$位置的方案数$mod 10^9 + 7$的值. 对于$100\%$的数据满足$1 \leq n \leq 6 , 1 \leq m \leq 10^5 ,0<c_i < \sum\limits_{i = 1}^n a_ib…
HGOI 20191106 t1 旅行家(traveller) 2s,256MB [题目背景] 小X热爱旅行,他梦想有一天可以环游全世界-- [题目描述] 现在小X拥有n种一次性空间转移装置,每种装置可以使他前进ai光年,每种装置他拥有bi个.(小X作为一个旅行家,是不会后退的:他的初始坐标是0) 他突然对宇宙的根源感到十分好奇,他发现他用完所有的装置刚好能够到达,于是她就开始了他的旅行. 邪恶的光明法师小S听说了这件事,他决定阻止可爱的小X,于是他使出了扭转乾坤的神通,在前进道路上的m个节点上…
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…