Loading

摘要: 给出样例 CASE1: 2 2 1 2 1 2 CASE2: 4 4 3 1 4 3 2 4 2 2 不得不说我之前还没看懂这个是什么意思,以为是重新加载了vector的clear,但是后来仔细想想才发现是当你需要将这个内存释放时才会用到这个,而不是一开始就需要定义进去(蒟蒻哭泣)。 所以只需要在代 阅读全文
posted @ 2019-10-20 21:59 ViKyanite 阅读(321) 评论(0) 推荐(0) 编辑
摘要: 在竞赛中,一般算机一秒能运行5 x 10^8次汁算,一般 O(n)的算法数据范围n < 10^8。O(n *logn)的算法数据范围n <= 10^6。O(n*sqrt(n) )的算法数据范围n < 10^5。O(n^2)的算法数据范围n<5000。O(n^3)的算法数据范围n <300。O(2^n 阅读全文
posted @ 2019-10-06 12:57 ViKyanite 阅读(534) 评论(0) 推荐(1) 编辑
摘要: A. There Are Two Types Of Burgers 水题。题意:给你面包片数,两种不同的肉饼数(制作一个汉堡要消耗两片面包和一片肉饼),之后再给你两种不同的汉堡售价,问你如何取得最大收益。 思路:照题意模拟即可 ,简单贪心。 #include <iostream> #include 阅读全文
posted @ 2019-08-28 23:23 ViKyanite 阅读(174) 评论(0) 推荐(0) 编辑
摘要: A. Choose Two Numbers 题意:让你从A集合里取一个数a,B集合里也取一个数b,使得a+b同时不存在于集合A和集合B中 思路:直接取A和B集合中最大元素,最大元素相加必然不在A集合或者B集合里 #include <cstdio> #include <algorithm> #incl 阅读全文
posted @ 2019-08-23 23:05 ViKyanite 阅读(186) 评论(3) 推荐(0) 编辑
摘要: 题意:输入 A B X,表示 B 的权值比 A 多 X,以300为周期,求描述错误的数目 思路:标准带权并查集 阅读全文
posted @ 2019-08-21 12:20 ViKyanite 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 并查集。 新兵入伍。三种操作:①入伍②合并队伍③查找一个队伍里面战斗力最弱的。注意队伍编号从0开始。 多了一个记录每个集合最小值的minn数组而已,然后判断的时候小心一点就可以了。 阅读全文
posted @ 2019-08-21 12:16 ViKyanite 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 这是并查集很常见的题型。 对于A~B之间的和是S,其实可以理解成B比A-1大S; 这样和普通的并查集就很类似了。 阅读全文
posted @ 2019-08-20 22:14 ViKyanite 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 大意:告诉你有n个点 m个边的无向图 然后问有多少点对 他们的路径上节点之间的距离都少于 x 思路: 并查集 离线处理。将边权值按从小到大排序,查询标号后按照从小到大排序。对于每次查询,依次将比当前查询值小的边加入并查集。 阅读全文
posted @ 2019-08-20 21:39 ViKyanite 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 克鲁斯卡尔(最小生成树) 阅读全文
posted @ 2019-08-20 20:54 ViKyanite 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 题意:输入n个点,要求选m个点满足连接m个点的m-1条边权值和sum与点的权值和ans最小,即sum/ans最小,并输出所选的m个点,如果有多种情况就选第一个点最小的,如果第一个点也相同就选第二个点最小的........分析:因为n<=15,所以可以暴力枚举出所选的m个点,然后对这m个点进行最小生成 阅读全文
posted @ 2019-08-20 20:53 ViKyanite 阅读(129) 评论(0) 推荐(0) 编辑