随笔分类 -  题解报告

摘要:恢复内容开始 传送门 A Monotonic Matrix 题意:计算多少种矩阵满足 Ai, j ∈ {0, 1, 2} for all 1 ≤ i ≤ n, 1 ≤ j ≤ m. Ai, j ≤ Ai + 1, j for all 1 ≤ i < n, 1 ≤ j ≤ m. Ai, j ≤ Ai, 阅读全文
posted @ 2018-07-27 22:22 采蘑菇的小西佬 阅读(477) 评论(0) 推荐(0)
摘要:题意:给你一个字符串,进行q次询问操作,每次给你一个n和一个子串,问能否在字符串中出现n次子串,若可以输出最短长度的n次子串,否则输出-1 题解:优雅的暴力哈希,枚举每一个不同种长度的子串,注意是不同种!因为这样子能减少枚举的次数,这是一个巨大的优化,同时用unordered_map这个不按key排 阅读全文
posted @ 2018-04-19 23:52 采蘑菇的小西佬 阅读(198) 评论(0) 推荐(0)
摘要:传送门 题解:刚学了随机。。。立刻去搞之前一场比赛的题目 阅读全文
posted @ 2018-04-05 22:58 采蘑菇的小西佬 阅读(144) 评论(0) 推荐(0)
摘要:传送门 题意:给你n个点,问能不能找两条直线经过所有点 题解:打比赛的时候很傻逼的认为要确定一条一条直线必须要斜率和截距,但是我tm是在枚举与点i的连线啊啊啊啊,点i是固定的所以只要斜率相等就能判断是不是同一条直线。随机算法随机找两个点确定一条直线,如果枚举的点不在该直线上则将它加入到vector中 阅读全文
posted @ 2018-04-05 22:15 采蘑菇的小西佬 阅读(297) 评论(0) 推荐(0)
摘要:传送门 题意:n个路口m条边,每一个路口都有一辆出租车,给你每辆出租车的能经过的最大长度和花费,给你一个起点一个终点问你从起点到终点最少要多少钱。 题解:先用dij跑出每个点到另外点的最小距离,再枚举两个点的连线,如果满足d[i][j]<=i点出租车的最大长度则建边,最后再跑一次自己建的图 阅读全文
posted @ 2018-04-02 09:55 采蘑菇的小西佬 阅读(114) 评论(0) 推荐(0)
摘要:传送门 题意:中文题面。。 题解:13的阶乘大于1e9,也就是说如果n大于13,那么只有后半部分大于13 的会进行重排,所以可以把一个数列分为两段,第一段是1到n-12,第二段是n-12到n。我们需要先dfs出幸运数字的所有情况,sort一下,枚举过去如果n-12大于幸运数字则ans++(因为前一段 阅读全文
posted @ 2018-03-18 10:52 采蘑菇的小西佬 阅读(203) 评论(0) 推荐(0)
摘要:传送门:CodeForces - 938D 题意:n个城市,m条路,每条路都有自己的花费,每个城市看演唱会也有自己的花费,问从每一个城市到另一个城市(或就在自己城市)看演唱会的最小花费 题解:迪杰斯特拉,跑多源(每个源有权值)最短路。和一般的跑法不一样,要先给每个dis[]赋值成源的权值然后扔进di 阅读全文
posted @ 2018-03-03 13:36 采蘑菇的小西佬 阅读(228) 评论(0) 推荐(1)
摘要:传送门:CodeForces - 937D 题意:两人进行一场走棋子的游戏,如果有人无法再继续走下去,那么他就输了。Petya先走,且如果petya的胜负优先级为:WIN>DRAW>LOSE。(即能赢就让他赢,不能赢就尽可能的平局,实在不行就输) 题解:先dfs搜索,开二位数组vis[][]第一维表 阅读全文
posted @ 2018-03-03 08:16 采蘑菇的小西佬 阅读(212) 评论(0) 推荐(0)
摘要:A 逆序数 题解:用树状数组进行计算有多少个前面比他大的数,只需要getsum(MAX)-getsum(a[i]),getsum(MAX)得到的是当前a[i]及出现在之前所有的数的个数,getsum(a[i])得到的是比a[i]在a[i]之前小于等于它的数的个数,相减就是比它大的个数; 1 #inc 阅读全文
posted @ 2018-02-26 16:11 采蘑菇的小西佬 阅读(166) 评论(0) 推荐(0)