hgoi#20190516】的更多相关文章

T1-Buying A House 给你一个长度为n的序列a,给你目标房子m,最多花的钱k 如果a[i]为0,这座房子无法购买,否则可以购买,求能买的距离目标房子最近的房子,输出最小距离 两座房子之间距离为10 解法 显然贪心的从目标房子开始左右扫就可以了 ac代码 #include<bits/stdc++.h> using namespace std; int n,m,lim,ans,a[110]; int main() { scanf("%d%d%d",&n,&…
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) {…
NOIP国庆模拟赛Day5 题解 T1 马里奥 题目描述 马里奥将要参加 NOIP 了,他现在在一片大陆上,这个大陆上有着许多浮空岛,并且其中一座浮空岛上有一个传送门,马里奥想要到达传送门从而前往 NOIP的考场. 从一座浮空岛出发,马里奥可以到达一个在水平方向和这个浮空岛相接的另一个浮空岛,他还可以使用梯子到达在这个浮空岛正上方或正下方的另一座浮空岛,但是这两个浮空岛的高度差不能超过梯子的长度. 现在,马里奥希望用最短的梯子到达传送门,请你输出梯子的最短长度. 我们把浮空岛抽象成一个二维平面,…
HGOI 20191106 t1 旅行家(traveller) 2s,256MB [题目背景] 小X热爱旅行,他梦想有一天可以环游全世界-- [题目描述] 现在小X拥有n种一次性空间转移装置,每种装置可以使他前进ai光年,每种装置他拥有bi个.(小X作为一个旅行家,是不会后退的:他的初始坐标是0) 他突然对宇宙的根源感到十分好奇,他发现他用完所有的装置刚好能够到达,于是她就开始了他的旅行. 邪恶的光明法师小S听说了这件事,他决定阻止可爱的小X,于是他使出了扭转乾坤的神通,在前进道路上的m个节点上…
t1-Painting 这道题目比较简单,但是我比较弱就只是写了一个链表合并和区间DP. 别人的贪心吊打我的DP,嘤嘤嘤. #include <bits/stdc++.h> #define ll long long using namespace std; namespace chhokmah { #define N 100005 #define M 5005 int a[N], l[M], r[M], pos[N]; int n, m, cnt; ll sum[M], f[M][M]; ll…
/* ljc20020730出的HGOI20190407的模拟赛. 考试结果比预期难的不少,可能是由于本来计划5h的比赛打了4h吧. 就当普及组模拟赛好了... 难度大概4紫吧(弱省省选难度) 出境 小F 命题ljc20020730 */ Task 1 Travel 评测地址 Task 2 Language 评测地址 Task 3 Lemon-Tree 评测地址 Task 4 Future 评测地址 杭高互测比赛,这次轮到我出题. 题目是Typing Competition Round #1 出…
/* 又是又双叒叕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)$ 答案为…
前言 今天做的是是2010年提高组和NOI的题目,做过几道原题,但是还是爆炸了,我真的太弱了. t1-乌龟棋 https://www.luogu.org/problemnew/show/P1541 这道题目还是比较简单的,差不多是三年做过的题目. 简单的DP,定义状态是\(f[i][j][k][l]\)表示i个1的卡牌,j个2的卡牌,k个3的卡牌,l个4的卡牌时的最大分数. O(n^4)的暴力转移 \[f[i][j][k][l]=max(f[i-1][j][k][l]+a[tmp])\] \[f…
/* 记一串数字真难. 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: 在某同学在计算打表的时间…
关于本次hg模拟赛,题目来源于CF1110. t1-无意义运算符(meaning) 题目描述 最大公约数和位运算之间有共同点吗?是时候来研究一下了. 给定一个正整数a,请找到一个闭区间[1,a-1] 内的某个整数b,使得a xor b 和a&b 的 最大公约数最大.换句话说,你要求出下面的函数: \[f(a)=max(gcd(a \ xor \ b, a \ and \ b))(0<b<a)\] 其中\(xor\)表示按位异或,\(and\)表示按位与. 解法 笨蛋chh没有想到正解,…
T1--最长公共前缀(lcp) 定义两个字符串S,T 的最长公共前缀lcp(S,T)为最长的字符串R,满足R 既是S 的前缀又是T 的前缀. 给定一个字符串S,下标从1 开始,每次询问给出四个正整数a,b,c,d,你需要输出[a,b]这个子串与[c,d]这个子串的lcp 的长度. 解法 暴力60分不用说了,那么正解可以用扩展\(kmp\),或者是万能字符串处理方法\(hash\).但是我不会扩展\(kmp\),所以我就只用\(hash\)来乱搞一下. 那么二分查找这个前缀的长度,每次用\(has…
题目描述 Dustar有n道题目要做.他的月薪是m元. 由于题目是一流的难题,所以Dustar不得不找个人来帮(代)助(替)他写作业. 找人写作业不是免费的,但是他们能保证在一个月内做出任何题目.每做一道题需要两笔付款,第一笔ai元在做题的那一个月初支付,第二笔b[i]元(1<=b[i]<=m)在做完后的下一个月初支付.每一个月Dustar用上一个月挣的钱来付款. Dustar没有任何存款意识,所以每个月的节余都回拿用去买糖吃掉了. 因为题目是相互关联的,它们必须按顺序解出.比如,题目3必须在…
题目描述 在一个遥远的国度里有n个人,每个人手上写着4个互不相同的数. 这个国度比较奇怪,如果两个人至少有一个数字相同,则他们是一对朋友. 现在这n个人按序号从左到右排成了一排,每个人都想知道在他左边有多少个人是他的朋友,你能帮助他们么? 40分解法 暴力求解,枚举所有的数. 40分代码 #include<bits/stdc++.h> #define N 100005 using namespace std; int n; int a[N][5]; bool vis[N]; int r(){…
题目描述 解法 我们稍微枚举一下前面几位,可以得到这样的规律. \[X_i=\frac{1}{2^{i+1}-1}\] \[Y_i=\frac{1}{2^{2^i}-1}\] 那么要使\(xm=yn\)那么就是\(m+1=2^n\),答案就是\(2^n-1\). 对于这个位数,答案就是\(n*log2\). 这道题沃做的时候,被浮点误差坑到了,所以在输出运算的时候还是要强制转换. Ac代码 #include<bits/stdc++.h> #define LL long long #define…
感想 对于这次考试,真的不想说什么了,太玄学了!!! t1输出比标准输出长,这是什么操作???难道要关文件???但是交到oj上又A掉了.这是什么操作. t2还好,没有出什么意外...但是要吐槽一下出题人,为什么空间给这么小!!! t3的正解竟然是随机乱搞??? t4竟然给我玄学错掉了一个点,交到oj上还都是对的??? 以上吐槽完毕 t1 密码(password) 题目大意 求出 \(\sum_{i=1}^{n} i^2 2^i\) . 题解 遇到这种有倍数关系的累加和,一般都可以用错位相减法.…
T1--调换纸牌(card) Alex有 n张纸牌,每张纸牌上都有一个值ai,Alex把这些纸牌排成一排,希望将纸牌按值从小到大的顺序排好.现在他把这个任务交给你,你只能进行一种操作:选中一张牌,然后插入到这一排纸牌中的任意位置.他想知道最少需要进行几次操作才能将纸牌排好,如果你能用最少的操作达到他的要求,他就请你吃大鸡排^ ^. 解法 求出最长不下降子序列,答案是\(n-len\). ac代码 #include<bits/stdc++.h> #define N 500005 using na…
题目描述 面对格鲁的入侵,小黄人们要组建一支队伍,来抵御进攻,现在有编号为1 至n 的小黄人,任命编号为n 的队长,由其挑选队员,当然编号不是随便编的,每一个编号里都包含一个小黄人的个人信息,现在队长要挑选一些与自己有共同语言(两者编号的最大公约数大于1)的小黄人组建队伍,现在给出n,请你计算出队伍中最多可以有多少的小黄人. 样例输入 4 样例输出 2 题目大意 求出在\(1\)~\(n\)中有多少个数和\(n\)不互质. 解法 欧拉函数,直接暴力求解有多少个数和\(n\)互质,再拿\(n\)减…
题目描述 植物学家Dustar培养出了一棵神奇的树,这棵有根树有n个节点,每个节点上都有一个数字a[i],而且这棵树的根为r节点. 这棵树非常神奇,可以随意转换根的位置,上一秒钟它的根是x节点,下一秒钟它的根就变成了y节点,Dustar由于魔力不够,无法控制住这棵树,这棵树说:"只要你每次都能正确答出以x为根的子树里的点的权值和我就停下来.",你能帮帮Dustar吗? 题目大意 给你一棵树根不定的树,每次让你查询\(x\)节点的子树权值和. 解法 树链剖分求换根树. 对于每一个\(u\…
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…
Problem:给出全班人的个数总分和小明的分数(满分100分),求小明最低排名和最高排名 sol:假设小明的排名为k,总分为sum,小明的分数是r, 贪心求解, 最坏情况下,小明前面的比小明高一分(r+1)分,那么给后面的人的分数是sum-(k-1)*(r+1)-r 最优情况下,小明前面的人都是满分(100)分,那么给后面人的分数是sum-(k-1)*100-r 所以对于后面人分数的取值范围是A=[sum-(k-1)*100-r,sum-(k-1)*(r+1)-r] 而对于一个很显然的结论由于…
40 pts: 考场上打了40分暴力,理论的话就是概率树,把每一个状态去去到各个带权(概率)的和就是答案 最终处理的话就是dfs出01序列0代表没有幻象,1代表出现幻象然后在每一次dfs出一段序列的时候双指针check一下更新答案 代码并不难,就是这样写的复杂度O(2n) code: (40pts) # include <bits/stdc++.h> using namespace std; double ans; ]; ],p0[]; void get() { double pr=1.0;…
Download:https://pan.baidu.com/s/16khhFf_0RsUjJLETreb20w (PDF) https://pan.baidu.com/s/1BVZqLs3q1clZBPwUR2cNoA#list/path=%2F (图片)…
更好的阅读体验 来我的博客观看 T1-打印收费 CZYZ 校园内有一家打印店,收费有着奇葩的规则,对于打印的量不同的情况会收取不同的费用.例如打印少于 100 张的时候,收取 20 分每张,但是打印不少于 100 张,收取 10 分每张,显然打印 99 张时候应该打印 100 张,而不是打印 99 张.现在告诉你打印店的收费策略,给出一些询问,求出打印若干张时候最少需要支付的钱数. 解法 贪心,对于打印若干张,有两种可能 就按当前张打印 或者多打印,打印张数为某个临界点 ac代码 #includ…
更好的阅读体验 来我的博客观看 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]…
T1-Mike and gcd problem Mike给定一个n个元素的整数序列,A=[a1,a2,...,an],每次操作可以选择一个i(1≤i<n),将a[i],a[i+1]变成a[i]-a[i+1]和a[i]+a[i+1].现在想要的是A序列所有元素的最大公约数大于1,请计算最少的操作次数. 解法 如果一开始就满足要求,直接输出YES 0 如果不满足,一定是把奇数变成偶数 有2种情况: 奇数 奇数 只需要一次操作 奇数 偶数 需要两次操作 然后就好了 ac代码 #include<bit…
T1-Pie or die Volodya和Vlad在玩下面的这个游戏.这里有k个派,分布在n×m的板子上.每一回合Volodya移动一个派到这个派边界的格子,如果这个派在板子的边界,Volodya就可以把它移出板,得到这个派并且获胜.在Volodya移动之后,Vlad在板的边界放一个长度为1的挡板,然后Volodya就不能把派从挡住的边移出. 请问,Volodya会赢得这次比赛吗?(我们假设两个玩家都无比聪明) 解法 明显的贪心,如果已经在边界上有派了,能赢 如果没有的话,显然只能走到边角获胜…