大江东去,浪淘尽,千古风流人物。故垒西边,人道是,三国周郎赤壁。乱石穿空,惊涛拍岸,卷起千堆雪。江山如画,一时多少豪杰。遥想公瑾当年,小乔初嫁了,雄姿英发。羽扇纶巾,谈笑间,樯橹灰飞烟灭。故国神游,多情应笑我,早生华发。人生如梦,一尊还酹江月。
摘要: 前言:刚学OI时太菜了,没有真正搞懂这些问题,现在希望加深对这些经典问题的理解。 最长上升子序列: 设dp[i]表示长度为i的上升子序列的最小末位数字。显然,长度一定时末尾数字越小越好。然后不断更新最小数字,显然若x dp[i 1&&x using namespace std; define go( 阅读全文
posted @ 2019-10-15 09:42 White_star 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 期中测:光之箭矢 题意: 随机一个排列,按照排列的顺序选取物品,问期望有多少子集使得选取方案与最优方案相同 做法: 注意到对于一个子集,答案与未选取的部分如何排列无关,可以将其转化为一个计数问题,即对每一个子集,统计合法排列的方案数,再乘上01可重排列数,将答案相加,最后除以全排列数即为所求期望。 阅读全文
posted @ 2019-10-14 19:38 White_star 阅读(173) 评论(0) 推荐(0) 编辑
摘要: Description 有n片荷叶在池塘上。因为如此这般,有一只年轻的青蛙要在荷叶上跳。它是这样跳的:假如它在第i 号荷叶上,那么它等概率地跳到1 到i 号的荷叶中的一个,跳到1 号荷叶结束。求这只青蛙期望跳多少次结束。 想法: 设f[i]表示第i个荷叶跳到第1个荷叶的期望步数 f[i]=(f[1] 阅读全文
posted @ 2019-10-14 10:27 White_star 阅读(238) 评论(0) 推荐(0) 编辑
摘要: T1:动态规划,f[i][0/1]表示前i位,最后一位是否是c的方案数。 曾经妄想用组合数学去算,由于无法解决重复计算问题最终放弃转而思考动态规划,成功AC 代码略 T2:数学+卡时限 简单的“变化求和顺序” ,经典变形: $\sum_{i=1}^N \sum_{j=i}^N$ = $\sum_{j 阅读全文
posted @ 2019-10-12 11:49 White_star 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 第二道构造题 不把金华考生当人系列。 题解OJ上有,这里不赘述 关键是此题代码如果写的好只需50行,写的不好可能要200行。 这里给出100行的丑陋代码(懒人必备STL vector,省了很多代码) c include using namespace std; define go(i,a,b) fo 阅读全文
posted @ 2019-10-11 11:48 White_star 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 简单构造题 第一道构造题,题目让我们构造一棵树。 其实我们都会构造树,kruskal算法不就构造了一棵树吗? 我们考虑如何构造一棵树,首先数据给出的边必须选,如果给出的这些边已经构成了环,说明无法构成树。 否则我们如果不考虑边的最大/最小条件,我们一定可以构造出一棵树。 但是题目告诉我们一个点相连的 阅读全文
posted @ 2019-10-10 21:35 White_star 阅读(145) 评论(1) 推荐(0) 编辑
摘要: 找规律+STL乱搞? 分析: 首先分析题目,要求给定一些区间,求区间中有多少对(x,y)满足x^y的1的个数为奇数 我们知道x^y的1的个数=x中1的个数+y中1的个数 2 共同出现的1的个数 因为只需知道奇偶性,所以2 共同出现的1的个数不用管 问题转化为实时维护当前区间并中,1的个数为奇数、偶数 阅读全文
posted @ 2019-10-10 20:28 White_star 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 结论题 数学 做这道题之前首先要知道勾股方程的通解 勾股方程:$x^2+y^2=r^2$的通解为x = $d \frac{a^2 b^2}{2}$, y = $d a b$, r = $d \frac{a^2+b^2}{2}$ 其中a, b为互质的正整数,d为任意实数 其实也就是勾股数乘上一定的倍数 阅读全文
posted @ 2019-10-10 11:31 White_star 阅读(157) 评论(0) 推荐(0) 编辑
摘要: T2 修建马路 并查集 注意到直接维护连通性不好做,因为我们在图上不断地删点,而并查集不支持删除操作。 考虑转化问题,瞬移能力相当于把整张图复制一份,我们注意到无法通行当且仅当被删除的方格围成了一个八连通的环。 用可撤销并查集维护 能够证明必须围成一个环,也就是如果超出边界要瞬移到图的另一边,特殊数 阅读全文
posted @ 2019-10-09 15:25 White_star 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 题意:一个学生有N个任务,每个任务有一个di,ti。di表示截止时间,ti代表该任务要花多少时间。若完成时间大于截止时间,则会造成完成时间 截止时间的损失。最小化最大的损失。 解法:按di排序,依次完成即可 证明:邻项交换法 设任务i的截止时间为t, 一.t d[i] 则损失分别为t d[i]和t+ 阅读全文
posted @ 2019-10-08 21:43 White_star 阅读(274) 评论(0) 推荐(0) 编辑
}