
===脑洞&&思维题===
文章平均质量分 69
Loi_LXTT
这个作者很懒,什么都没留下…
展开
-
<codevs 1376> 帕秋莉·诺雷姬
·题目链接:http://codevs.cn/problem/1376/ –在计算的过程中一定要不断对m取模,否则会爆掉 –可以用数组直接统计26的n次方,O(1)查询,但一定要对m取模 –交换两个字母计算整个串的值时,不用重新求一遍sum,直接把sum减去两个原先的数乘以他们各自所在位置的26的幂,再加上他们乘以新的所在位置的幂 –虽然说有点像hash,但是我觉得这不是真的hash233原创 2017-09-25 17:02:13 · 525 阅读 · 0 评论 -
codevs 2452 扫雷
—–脑洞题codevs 2452 扫雷题目描述 Description 相信大家都玩过扫雷的游戏。那是在一个n*m的矩阵里面有一些雷,要你根据一些信息找出雷来。万圣节到了,“余”人国流行起了一种简单的扫雷游戏,这个游戏规则和扫雷一样,如果某个格子没有雷,那么它里面的数字表示和它8连通的格子里面雷的数目。现在棋盘是n×2的,第一列里面某些格子是雷,而第二列没有雷,由于第一列的雷可能有多种方案满足第原创 2017-09-21 20:00:45 · 445 阅读 · 0 评论 -
2017.10.18 队内胡策 D5
昨天考的题,今天早晨才把T2调完,竟然卡了精度原题链接: T1:gjh自己出的(灵感来源:codevs 1742 爬楼梯 链接) T2:luogu 2656 采蘑菇 链接 T3:codevs 1456 隐藏口令 链接 T4:luogu 1984 烧水问题 链接T1 第一问DP,第二问随便打打贪心 结果我第二问贪心在模拟的过程中就打次了(第一次贪心模拟输给了DP)不多说 很简单 代码:原创 2017-10-19 10:28:55 · 354 阅读 · 0 评论 -
<并查集>luogu 1196 银河英雄传说
去题面的传送门 第一反应是并查集维护战舰之间的集合关系,记录每一个战舰前面的战舰数量pre[i],记录每一个并查集的集合大小rank[i],每次合并更新pre的大小,查询时如果两艘战舰在不同的集合里,直接return -1。反之,返回两艘战舰的pre之差-1,就是两艘战舰之间的战舰数量 但是对于如何维护pre,我调试了很久。 一开始想的是,每次合并时,把排列在后面的那个集合的根节点的pre+前原创 2017-10-27 16:58:59 · 288 阅读 · 0 评论 -
【noip 2011】选择客栈
去题面的传送门QAQ很巧妙的方法 O(n)就可以做 边读入边处理 记录: ①now:为离当前客栈最近的,花费不超过p的客栈的坐标 ②sum[x]:已经对答案有过贡献的(与它之后的客栈之间有最小花费不超过p的)颜色为x的客栈的数量 ③tot[x]:之前出现过的颜色为x的客栈的数量 ④h[x]:之前最后一次出现的颜色为x的客栈(与当前客栈颜色相同且距离当前客栈最近的客栈)的坐标如何记录答案?原创 2017-10-19 16:06:22 · 991 阅读 · 0 评论 -
codevs 2218 补丁vs错误
去题面 QAQ光读题就恶心了我好久 一开始想的是把补丁和补丁建边,然后跑spfa,存当前的状态,看下一步是否能走。但是一看,状态最多有1000000+,补丁有最多100,vis数组和dis数组一定存不下。。。 QAQ那就把状态和状态之间建边吧,枚举每一种状态和每一个补丁,如果这个状态可以通过这个补丁变为另一个状态,建一条由该状态指向改变后状态的边,权值是该补丁的使用时间,跑最短路就行了 代码原创 2017-10-23 19:36:28 · 347 阅读 · 0 评论 -
<并查集+脑洞>codevs 1995 黑魔法师之门
去题面的传送门第一眼觉得这题很难。。。然后在手推样例时,发现每在一个连通块里加一条边,对答案的贡献就是原图的答案+1.也就是答案变为原来的两倍加一。一开始只是观察样例是这样的。后来发现这个题的确是这样。 为什么呢? (前提,加入的边的两节点都已经在连通块里) ①这两个节点本来就有边连接。相当等于用这条边替换其他的边。 ②这两个节点本来没有边连接。相当等于增加了一个强连通分量 每次答案输出原创 2017-10-14 21:45:07 · 515 阅读 · 0 评论 -
【noip 2013】火柴排队
去题面的传送门 QAQ昨天队内胡策的T1,成功打次了 没做过火柴排队的我考完试先跑过来做这道题了 首先,对于两个序列,要使他们之间的距离最小,也就是Σ(ai+bi)^2最小,肯定是最大的和最大的对应,次大的和次大的对应,也就是说,把两个序列排序后,各个位上一一对应。但是还要保证交换次数最少,所以不能打乱顺序。 举个栗子: A序列:4 7 2 1 B序列:3 2 1 4 排序后: A:原创 2017-10-25 11:02:15 · 272 阅读 · 0 评论 -
【队内胡策 10.26 】T1
QAQ蒟蒻我只做了六十分的暴力,六十分很好水O(n)做法: 每到遍历一个字符,查找在该字符前的所有已经遍历过的字符里,该字符作为最小值时的答案,和该字符作为最大值时的答案。我们统计一下到第i个位置,每个字符各出现了多少次,即sum[j]。但是,我们还要知道对于以该位置结尾的,以前面任何位置开头的子串中的答案。从1到i遍历一遍肯定会超时,这时想用什么方法,能够快速找到位置x,使得区间[x,i]的答案原创 2017-10-26 17:04:46 · 350 阅读 · 0 评论