摘要: read 函数 inline int read() { int x=0,f=1; char c=getchar(); while(c<'0'||c>'9') {if(c=='-') f=-1; c=getchar();} while(c>='0'&&c<='9') {x=x*10+c-'0'; c= 阅读全文
posted @ 2019-07-24 14:32 handsome_zyc 阅读(628) 评论(0) 推荐(0) 编辑
摘要: 浅谈素数判断与素数筛 首先,什么是素数。 素数就是质数。 质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。(来自百科) 然后现在想一想我们应该如何判断一个大于1的自然数n是不是素数。 根据定义,我们只需要确定除了1和它本身的数都不可以整除它。 最简单的,我们使用一个循环,从2到 阅读全文
posted @ 2020-12-19 16:32 handsome_zyc 阅读(328) 评论(1) 推荐(1) 编辑
摘要: 这道题的思路很明显就是搜索。 考虑每次切割只有两种大的情况:平行长边或平行短边。 不妨设平行长边,则切割的长度即为mx的公倍数(mx等于长边长度除以还需分割的数量)。 那么就是一个比较容易实现的搜索题。 #include<iostream> #include<cstdio> #include<cst 阅读全文
posted @ 2020-09-10 19:00 handsome_zyc 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 这道题是一个错题,但是我还是做了。 一开始我想的是一个贪心的做法,但是如果树含有一条很长的链就会hack掉这种做法,而数据范围并不大,所以就老老实实地写搜索。 大体上是先搜索一遍整棵树,处理处每个点的父亲节点编号,子树大小和所在深度。 然后需要把相同深度的点归到一起,因为对于每次搜索,可选择的都是同 阅读全文
posted @ 2020-09-10 17:09 handsome_zyc 阅读(149) 评论(0) 推荐(0) 编辑
摘要: u1s1,我的代码在洛谷上只能拿88pts,但在其他OJ上能过,所以如果你想在洛谷上通过这道题那请出门左转。 这道题看题面和数据范围就知道是搜索加一些神奇的剪枝。 我一开始的想法是按人枚举,但发现这样连裸的搜索都很难写,所以我转化了一下思路,枚举比赛(即用 ( x , y ) 来表示比赛双方)。 这 阅读全文
posted @ 2020-09-06 22:01 handsome_zyc 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 这道题的目的是要求出每个点的单源最短路数量。 那么对于每个点,我们需要知道其距离起点的距离和当前搜到的最短路的条数,分别用数组 dis [ i ] 和 f [ i ] 来表示。 从而,我们选择用广搜来进行实现(一是边权为恒为1,二是保证第一次搜到的 dis [ i ] 即为最短的) 对于每一个新搜到 阅读全文
posted @ 2020-09-06 21:52 handsome_zyc 阅读(179) 评论(1) 推荐(0) 编辑
摘要: 这道题具有很大的思维价值,所以我做了好多遍。 这道题与其他最短路问题最不一样的地方就在于一个条件:路径上的所有点的出边所指向的点都直接或间接与终点连通。 那我们思考如何才能得出符合这个条件的点: 考虑这三个点集:1.所有的点 2.所有与终点连通的点 3.所有该点的出边所指向的点都与终点连通的点 不难 阅读全文
posted @ 2020-09-06 15:23 handsome_zyc 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 这道题经常是作为一个搜索题出现的,但是实际上它还用dp或贪心处理搜索后的结果。 来看这道题,题意很好理解,第一问也很好做(从每个第一行的点开始搜,判断整个第一行在第N行上覆盖的点数量是否等于M就好了) 然而,想到这里还不足以解决第二问。 想要解决第二问首先需要明确一个引理:第一行某个点在第N行上覆盖 阅读全文
posted @ 2020-09-04 22:23 handsome_zyc 阅读(276) 评论(2) 推荐(0) 编辑
摘要: 这道题根据题意可以理解为在图中找一个最小环的问题 又因为题目中一条重要的性质:每个点出度都为1,所以我想到了一个删边的做法。 详细来讲就是递归删去除环以外的边(即原本或更新后入度为1的边),剩下一个个独立无交集的环,再遍历一遍就能找出答案。 注:每个点在删边和搜环时只会遍历一遍,所以程序并不会超时。 阅读全文
posted @ 2020-09-04 21:17 handsome_zyc 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 时隔多日,我经历完中考又回来了! 刚刚步入高中生活,又要抽出一部分时间来打信竞,实在是压力山大。 但是,我相信经过竞赛对我的磨砺一定对我的未来大有用处。 所以话不多说,来看今天这道做过很多遍的经典考题。 这道题最主要的目的是判断上下表面的连通性,所以,对于每一个球(可以看作是点)我们只需要关注能否从 阅读全文
posted @ 2020-09-04 21:11 handsome_zyc 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 每日一题 day72 打卡 Analysis 这道题一开始我就想到了暴力哈希的做法,但是因为n有 500000 那么大,所以单纯的哈希肯定是不行的。 于是我就上网翻了几篇题解,发现都是二分+哈希,于是思考二分的做法。 之前我就有一个想法,找到所有相邻不一样的点(即本身是反对称的且可能是更大的反对称串 阅读全文
posted @ 2020-03-07 15:58 handsome_zyc 阅读(246) 评论(0) 推荐(0) 编辑