上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 22 下一页
摘要: link 推柿子。 \(f(n,k)\) \(=\sum\limits_{i=1}^kC_n^i\%P\) \(=\sum\limits_{i=1}^kC_{n/P}^{i/P}\times C_{n\%P}^{i\%P}\%P\) \(=\sum\limits_{k=0}^{\lfloor\fra 阅读全文
posted @ 2022-06-27 13:39 Feyn618 阅读(26) 评论(0) 推荐(0) 编辑
摘要: link loj又有好东西啦。 想到从小到大一个一个插入元素进行DP,但问题在于插入那个元素之后对值有多大影响并不好求,毕竟你只维护了极长连续段的个数,并没有维护每个段的首尾有哪些数,所以变化量是无法求的。有一个处理变化量上的核心思想。放张自己用画图造出来的图: 假如把那些数抽象地看成许多点,那么整 阅读全文
posted @ 2022-06-25 15:57 Feyn618 阅读(38) 评论(0) 推荐(0) 编辑
摘要: link 巧妙的贪心。最近发现自己很多板块都能力不足,比如思维和贪心等知识点,这都是以前周老师不是很重视的地方(还有就是最近很容易怀旧,刚毕业的人都这样)。 想到先去绝对值。由于联通是双向的过程,所以统计一次即可,想到按x升序排序,这样点i和j(i在j后面)有连边就需要满足 \(x_i-x_j\ge 阅读全文
posted @ 2022-06-24 09:03 Feyn618 阅读(31) 评论(0) 推荐(0) 编辑
摘要: link 莫队吸氧水过去的, \(O(N\sqrt N\log N)\) 吸氧能过二十万,感谢你谷的评测机大大。 没什么,用num数组和树状数组维护一个区间信息,树状数组为值域,有该数值为1,否则为0,查找时二分即可,因为当一个区间并不是所有数都在时查出来的区间和会不等于区间长度。要注意的是树状数组 阅读全文
posted @ 2022-06-23 15:46 Feyn618 阅读(5) 评论(0) 推荐(0) 编辑
摘要: link 正难则反。既然限制最后的起飞时间不太好做,考虑建反图,然后把限制转化成什么时候之后才能起飞。于是第一问可以暴力寻找限制时间最大的点(如果它都飞不起来那么其它点更别想了)。这就解释了为什么要建反图,因为在原图上随着时间的推移有些点会被封闭起来,拖得越久越不利,所以不好弄;而反图上则是随着时间 阅读全文
posted @ 2022-06-23 15:18 Feyn618 阅读(52) 评论(0) 推荐(0) 编辑
摘要: link 一道贪心题。 首先作为一个正常人,有优惠券肯定会尽量用(题目中保证了优惠价格不会比原价高),于是考虑先把所有优惠券都全部用完。在用完所有优惠券之后如果还有闲钱,那么就会考虑入手新牛。发现有两种决策,一种是用原价买已经买过的特价牛,空出来的优惠券去买另一头牛,代价是 \(a_i-b_i+b_ 阅读全文
posted @ 2022-06-23 14:42 Feyn618 阅读(30) 评论(0) 推荐(0) 编辑
摘要: link loj那么贫瘠的土地上竟然还能长出洛谷没有的花。这是我第一篇记录loj上题目的随笔。 首先之前学过一个小结论,对本题的解决有极大的帮助,但我考场上竟竟竟然忘了,于是拿了60分的部分分跑路了…… 一开始的那个函数T不是很好推关系,直接上矩阵乘法不是很好弄,于是考虑推柿子: 首先有结论: \( 阅读全文
posted @ 2022-06-23 13:12 Feyn618 阅读(39) 评论(0) 推荐(0) 编辑
摘要: link 题并不难,主要是这道题的数据太水了还是我写的太优秀了(狗头),\(O(N^5)\) 的复杂度过掉了100的数据范围,写的时候还百般担心怎么优化,结果发现根本不需要。 状态定义非常朴素,用 \(f[l][r][x]\) 来代表区间最后只剩x的可能(用01表示),然后枚举断点即可。要注意的是合 阅读全文
posted @ 2022-06-22 20:58 Feyn618 阅读(18) 评论(0) 推荐(0) 编辑
摘要: link 一道又好想又好写的题,太良心了。 很显然可以写出 \(f[x][y]=\max\limits_{i=0}^{x-1}f[i][y-1]+cost(i+1,x)\) 。自然想到以y为第一枚举关键字(毕竟它小啊),对于每一层就相当于在访问上一层的一个区间内的最小值,自然想到线段树。再看后面的贡 阅读全文
posted @ 2022-06-22 16:09 Feyn618 阅读(18) 评论(0) 推荐(0) 编辑
摘要: link 又是一道考场上离正确结论只差半步,看了题解之后恍然大悟,回头一看交了个暴力的题目。就很弱。 可以想到暴力。用 \(f[i][j]\) 来代表以i为最小高度、j为最小速度的方案数,我们要做的就是把每一个人带进去看是否符合情况即可。 \(O(N^3)\) ,40分。 然后发现可以优化。观察方程 阅读全文
posted @ 2022-06-22 14:02 Feyn618 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 有的时候会用到前缀和统计,比如[SCOI2007]组队我所学习的写法用到了差分的统计方法,但问题是有可能找出来的左右端点的大小关系反了,这时候直接上差分数组就会出现区间减的效果,而事实上我们希望的是忽略这个不合法的区间,所以说我们应该加一个特判来防止错误的发生,对于这道题来说就是这一句: if(ma 阅读全文
posted @ 2022-06-22 13:29 Feyn618 阅读(23) 评论(0) 推荐(0) 编辑
摘要: link 矩阵乘法优化图上DP。 先要想出一个很巧妙的点。朴素的方程 \(f[i][x]=f[i-1][x]+\sum f[i-1][y]\) 而每次统计一遍爆炸个数会限制后续优化,于是考虑搞一个0号节点出来,每一个点向0连一条边即可。爆炸了之后就相当于待在那里不走了嘛。 会发现这个方程是高度重复的 阅读全文
posted @ 2022-06-21 17:17 Feyn618 阅读(30) 评论(0) 推荐(0) 编辑
摘要: link 虽然很古老的时候(大概是2021年那个幸福但昏昏沉沉的寒假)已经自学过一阵矩阵乘法,但今天突然考到的时候还是想不起来,于是喜提暴力40分。 这道题的方程很好写。 \(f[i]=f[i-1]\times10^{\lfloor \log_{10}i\rfloor}+i\) 用矩阵来表示: \( 阅读全文
posted @ 2022-06-21 17:10 Feyn618 阅读(29) 评论(0) 推荐(0) 编辑
摘要: link 绿题。考场上想出了结论但不敢用。没往那方面去思考。太弱了。 按照样例可以猜想一个结论,即等待时间久的人一定会先去打饭。可以简要证明:假如相邻的两个人i和j,很明显他们之间的顺序不会影响到其他人的打饭时间,那么就看一下他们二人后吃完饭的时间。假设Bi>Bj,i先吃,则吃完饭的时间为 max( 阅读全文
posted @ 2022-06-21 16:58 Feyn618 阅读(57) 评论(0) 推荐(0) 编辑
摘要: link 众所周知,USACO的题有几个特点。一个是翻译的题面很简洁,另一个就是写起来真的不是很复杂,想通了就可以顺利写完。 这一看就是一个换根DP的板子,和昨天写的Nearby Cows G是一样的,极其赤裸的换根。按着节奏写就对了。没什么好说的。 #include<bits/stdc++.h> 阅读全文
posted @ 2022-06-21 16:44 Feyn618 阅读(22) 评论(0) 推荐(0) 编辑
上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 22 下一页