摘要:
欧拉回路。 首先根据连通性以及欧拉回路存在条件判掉不可能的情况,剩下的情况都存在解。 如果有两个奇度的点,那么答案是唯一的。(可以利用度来求解每一个点被走了几次) 如果全是偶数度的点,那么答案不唯一,但是去掉起点被多访问一次的答案也是唯一的,因此只需枚举起点就可以了。 阅读全文
摘要:
打表,二分。 满足条件的数字个数不多,可以全部找出来,排个序,每次询问的时候二分一下。 阅读全文
摘要:
打表,预处理。 因为只要保留$5$位小数,所以$n$大于某个数字的时候,答案都是一样的,通过寻找可以发现$n$大约为$2000000$。读入的时候需要用字符串。 阅读全文
摘要:
简单题。 阅读全文
摘要:
二分,验证。 二分$k$,然后进行验证。有一个地方需要注意一下:如果$n$个数,每次合并$k$个,最后一次不能合$k$个,那么一开始需要补$0$之后再合并才是最优的。合并的时候用优先队列合并时间复杂度过高,可以用两个队列模拟一下,优化掉一个$log$。 阅读全文
摘要:
背包,$map$,优化。 和普通背包一样,$map$加一个$erase$优化一下就可以跑的很快了。 阅读全文
摘要:
并查集,$dfs$。 从大的数字往里加,每加一个数字合并一下连通块,判断连通块内数字个数是否够,以及k能不能被当前加入的数字整除。然后$dfs$一下构造答案。 阅读全文