随笔分类 -  OI

上一页 1 2 3 4 5 6 7 ··· 13 下一页
摘要:P5147 随机数生成器 ~~数学老师看不懂系列~~ 看题目这一片代码就很晕: 但是如果你把这个东西看成一个数列的值,就很显然了。 设 返回的期望值为$a_n$,那么题意就可以变成: $$\begin{cases} a_1 = 0 \\ a_n= \frac{S_n}{n} + 1\end{case 阅读全文
posted @ 2019-02-02 17:28 Garen-Wang 阅读(284) 评论(0) 推荐(0)
摘要:P1026 统计单词个数 这道题看上去就是要用dp的样子。裸裸的dp题无误。 首先要把分开的字符串合成那个长度小于等于$200$的总字符串。 然后做个预处理,预处理出任意区间内的单词个数,设为$sum[i][j]$。 有一个神奇的地方: 当选用一个单词之后,其第一个字母不能再用。 题解里面有这么一种 阅读全文
posted @ 2019-01-30 00:28 Garen-Wang 阅读(281) 评论(0) 推荐(0)
摘要:P1868 饥饿的奶牛 一句话题意:给$n$个区间,区间可以任意选但不能有重复部分,求能选到的最大的点数。 做法: 显然要弄一个$dp[i]$表示$[0,i]$能吃到多少草。 先把所有的区间双关键字从小到大排序。 然后遍历所有的点,找到相对应的区间,更新那个一维的dp。 dp方程看过了之后是显然的。 阅读全文
posted @ 2019-01-30 00:12 Garen-Wang 阅读(204) 评论(0) 推荐(0)
摘要:带权二分图最大匹配 P1500 普通的二分图最大匹配的权值都是1,但是现在我们要解决带权的。 解决方法有两个:一个是匈牙利算法但是不会,另一个是最大费用最大流。 建图方式是这个样子: 弄出源点和汇点。源点向男的连边,女的想汇点连边,流量为1,费用为0。 满足条件的男的向女生连边,流量为1,费用为权值 阅读全文
posted @ 2019-01-28 19:45 Garen-Wang 阅读(257) 评论(0) 推荐(0)
摘要:P1820 寻找AP数 这道题跟那个反素数挺像的,于是就使用了经典的打表。 打表程序: 提交的程序: cpp include using std::cin; using std::cout; using std::endl; define ll long long const int chart[6 阅读全文
posted @ 2019-01-26 17:55 Garen-Wang 阅读(351) 评论(0) 推荐(0)
摘要:学到现在就做过两道次短路的题。 A 这辈子都不可能学的。两个不同的方法分别是 法和删边法。 法 做法就是类似于 数组那样,再弄一个 数组,代表次短路径。 更新的话就要比较多的判断关系,关键的最短路算法判断是这样的: cpp void dijkstra(int s, int t) { memset(d 阅读全文
posted @ 2019-01-06 12:11 Garen-Wang 阅读(562) 评论(0) 推荐(0)
摘要:神奇的中位数定理!(名字自己起的) 两个题目都是一个问题:$n$个人围成一圈,每个人可以给她左右两个人金币,求最小的金币交换量使得他们的金币都一样多。 鉴于不会那些费用流,就学了神奇的数学方法。(其实蓝书里面有类似的题目) 所谓的数学方法是这样的: 设$A_i$为第$i$个人一开始持有的金币数,$X 阅读全文
posted @ 2018-12-22 20:25 Garen-Wang 阅读(144) 评论(0) 推荐(0)
摘要:能用线段树的就不要用分块!真香警告! 这道题也很清晰:区间开方、区间求和。 掏出计算器,发现就算最大的$10^{12}$,按6次开方就已经变成1! 所以我们的思路就是跳过那些已经都是1或0的区间,因为它们拿去开方一点意义都没有。 区间开方不需要打懒标记,因为最多就是$600000$次单点修改,完全可 阅读全文
posted @ 2018-12-22 17:54 Garen-Wang 阅读(128) 评论(0) 推荐(0)
摘要:题目看错见祖宗系列 题目的意思是给你一个$w$元的红包,第$i$个抢的人的钱数是从0到剩下的钱中随机的一个数。然后叫你求第$k$个人抢到钱的期望。 显然答案就是$\frac{w}{2^k}$。套上有理数取膜的模板即可求到答案了。 注意:这里的$2^k$不能用1左移,毕竟$k$辣么大。 $k$不是小于 阅读全文
posted @ 2018-12-22 17:47 Garen-Wang 阅读(142) 评论(0) 推荐(0)
摘要:NOIP2018,本以为是最有希望的一年,没想到是最翻车的一年! 说多了都是泪555555 考前记 Day Unknown(反正是考试前) 超级弱市CZ在10月13日在我们学校考了一次并不为人知的初赛。 所以从初赛后,每个晚上我就来机房准备复赛。 1. 初赛考完,我就跟班主说我不做作业啦,晚上不在教 阅读全文
posted @ 2018-11-21 18:20 Garen-Wang 阅读(307) 评论(0) 推荐(0)
摘要:一道又简单又难的BFS题 这道题是个人看上去就知道要BFS。 随手写了个BFS,算样例的答案是7? ~~翻题解~~发现: 障碍点不能跳过 ! 改过来,终于是12了。交上去,MLE! 显然会有很多状态是重复的,我们可以开一个三维的布尔数组来判重,很傻瓜的操作。 应该改完了,交上去,还有TLE? 哦,我 阅读全文
posted @ 2018-11-09 11:37 Garen-Wang 阅读(266) 评论(0) 推荐(0)
摘要:无向图求割点和桥的总结 没错,还是要用到tarjan算法。 无向图的tarjan算法需要注意:你需要记录你的前驱节点是什么。 因为tarjan求的就是一个dfs树,一棵树怎么可以有回去的边呢?所以碰到返祖的边就要忽略掉。 求割点 一个点是割点,有且仅有两种情况: 1. 若点是dfs树的根节点,那么当 阅读全文
posted @ 2018-11-09 11:28 Garen-Wang 阅读(160) 评论(0) 推荐(0)
摘要:毒瘤大模拟题! 看到这种又是字符串又是模拟的题目就很伤,很多的地方都考验细节。 看到这种处理循环的方式是后进先出,自然想到了用栈来模拟。 但是最主要的思路是怎么算复杂度? 其实说白了也简单:一个循环的复杂度 = 这个循环本身的复杂度 + 在里面嵌套的最大的复杂度 这里的每一个循环变量都是不重复的,如 阅读全文
posted @ 2018-11-09 11:15 Garen-Wang 阅读(193) 评论(0) 推荐(0)
摘要:月赛的经典模拟题 模拟水题调到要死,但是还是能1A,还是很爽的。 这道题可以直接用scanf读入一行,用fgets会读入一个 ,我不喜欢。 然后用一个变量从左到右扫一遍。 如果读到了大写字母,那么你现在肯定在读一个元素的名称。判断是否有小写字母,名字完了之后判断是不是有下标数字。 读数字是一件挺频繁 阅读全文
posted @ 2018-11-07 22:11 Garen-Wang 阅读(280) 评论(0) 推荐(0)
摘要:主席树套树状数组的动态区间kth模板题 静态区间的kth就是主席树的独角戏,现在需要支持修改操作,如果只用主席树的话一次会有$O(n\log n)$的修改,直接爆炸。 解决方法是套上一个树状数组。 我们这么理解: 原来树状数组的每一段是一个数字是吧,我们现在的每一段直接变成一颗主席树! 这样的话,按 阅读全文
posted @ 2018-11-07 22:04 Garen-Wang 阅读(191) 评论(0) 推荐(0)
摘要:二进制操作+线段树永久化lazy操作 暴力模拟你可能都会写错哦!因为你二进制操作都可能写错! 让我们先解决这两个所谓的“基本操作”: 前$k$位按位取反 我们操作的思路是先把前$k$位独立分开,然后就对剩下的那$k$位进行单独操作。 如何对一个数取反?用~符号? 注意到一个二进制的结论:负数=正数的 阅读全文
posted @ 2018-11-06 22:10 Garen-Wang 阅读(153) 评论(0) 推荐(0)
摘要:一道可能不太明显的状压dp 为什么说不明显呢?因为可以状压的元素藏到了后面。 题意已经很清晰了:每个点一个颜色,找到一条最短的点数为$k$、恰好经过全部$k$种颜色的路径。你需要求出这条路径的长度。 虽然$n \leq 100$挺大的,但是$k \leq 13$,而我们要走的也只跟$k$有关,所以我 阅读全文
posted @ 2018-11-06 21:58 Garen-Wang 阅读(128) 评论(0) 推荐(0)
摘要:挺水的棋盘dp题目类型 虽然说水,但是我今晚快一个多小时卡在这道题上面。这反映了我对这类dp的不熟悉。 这道题一看上去就知道应该是要dp的,每一步只能走右或走下就已经提示给你要这么转移。 做dp首先想明白怎么定义状态: 设 表示当前走到$i$行$j$列,目前的朝向向右(0)或向下(1)的最大或最小操 阅读全文
posted @ 2018-11-06 21:51 Garen-Wang 阅读(176) 评论(0) 推荐(0)
摘要:显然的数论水题吧 这道题一开始来看的话要看一下,然后就能发现这是个数学问题。 显然要是LCA一定在她的子树内,不然不可能她是LCA。 所以先把特殊情况搞掉:自己跟自己只有1种情况,自己跟子树内其他的节点加上双向共有$2 \times (size[u] 1)$种情况。 剩下来的就是那些两个不同子树内的 阅读全文
posted @ 2018-11-06 21:44 Garen-Wang 阅读(177) 评论(0) 推荐(0)
摘要:模拟退火求最小球覆盖和最小圆覆盖 原本在我的认识中,模拟退火一定要有一个随机化在里面。 但是有些模拟退火,你可以清楚地意识到答案是可以向某个方向逼近的,这个时候就不用随机了。 比如像第一道题POJ 2069,这道题求的就是最小球覆盖。 对于任意的初始点,我们都能算出以当前点作为圆心的覆盖半径是多少。 阅读全文
posted @ 2018-11-06 09:29 Garen-Wang 阅读(112) 评论(0) 推荐(0)

上一页 1 2 3 4 5 6 7 ··· 13 下一页