
2020杭电多校
文章平均质量分 79
2020杭电多校
kuricip
如果你瞄准月亮,即便迷失,也是在星辰之间
展开
-
2020杭电多校第十场题解3、4、11
Mine Sweeper(构造)题目传送门Mine Sweeper思路官方题解给的清清楚楚明明白白AC Code#include<cstdio>#include<algorithm>#include<iostream>#include<cstring>using namespace std;#define endl '\n'#define INF 0x3f3f3f3f#define int long long// #define原创 2020-08-24 17:52:29 · 385 阅读 · 0 评论 -
2020杭电多校第九场题解A、C
Tree题目传送门Tree题目大意给你一个具有n个结点的树,以1为根结点,输入n-1个数分别为父节点让你创建一条边,使得(x,y)(x,y)(x,y)对(指x能到y)尽可能的多思路显然添加的这条边必然是添加在叶结点到根结点的,这样可以使得根结点到该叶结点的所有结点的对数全变为n所有,首先dfs求出所有的点的子结点的个数,然后dfs找取叶结点连接根结点取最大值即可AC Code#include<cstdio>#include<algorithm>#include原创 2020-08-23 19:23:54 · 363 阅读 · 0 评论 -
2020杭电多校第八场题解
Clockwise or Counterclockwise题目传送门Clockwise or Counterclockwise题目大意给你三个点ABC,判断A->B->C的方向(逆时针或者顺时针)思路叉积/*A(x1,y1) B(x2,y2) C(x3,y3)向量AB=(x2-x1,y2-y1)向量AC=(x3-x1,y3-y1)若 AB x AC < 0 则 ABC 顺时针若 AB x AC > 0 则 ABC 逆时针若 AB x AC = 0 则 AB、原创 2020-08-20 22:05:39 · 390 阅读 · 0 评论 -
Hexagon(找规律)
思路实在不会这种,看大佬博客吧HexagonAC Code#include <cstdio>#include <cstring>#include <algorithm>#include <cmath>#include <vector>#include <queue>#include <iostream>#include <map>#include <string>#inclu转载 2020-08-20 22:01:22 · 296 阅读 · 0 评论 -
2020杭电第七场题解Increasing and Decreasing、Game、Jogging
Increasing and Decreasing题目传送门Increasing and Decreasing思路官方题解已经给的很清楚了,直接分块构造就行AC Code#include<cstdio>#include<algorithm>#include<iostream>using namespace std;#define endl '\n'#define INF 0x3f3f3f3f#define int long long// #de原创 2020-08-18 00:28:07 · 249 阅读 · 0 评论 -
2020杭电多校第六场题解Road To The 3rd Building、Little Rabbit‘s Equation、A Very Easy Graph Problem、Divisibilit
Road To The 3rd Building题目传送门Road To The 3rd Building题目大意给你n个数字,然后从中间选一个区间,区间的平均值为1j−i+1∑k=ijsk.\frac{1}{j−i+1}∑^j_{k=i}s_k.j−i+11∑k=ijsk.求区间的期望思路官方题解很容易理解不过有些人不喜欢看官方的题解(比如我)所以还是写一下1、这里区间的是未知的,所以肯定需要枚举区间的长度2、我们只需要求得每个长度下的幸福值出现的和,然后乘上区间长度的逆元即可原创 2020-08-11 21:40:21 · 153 阅读 · 0 评论 -
2020年杭电多校第五场题解Tetrahedron、Boring Game、Paperfolding、Set1
Tetrahedron(数学推导,逆元)题目传送门Tetrahedron思路公式的推导,显然可以得到1h2=1a2+1b2+1c2\frac{1}{h^2}=\frac{1}{a^2} + \frac{1}{b^2} + \frac{1}{c^2}h21=a21+b21+c21对于期望的计算,因为a、b、c是等价的,所以可以直接计算1a2\frac{1}{a^2}a21的期望然后乘以3而1a2\frac{1}{a^2}a21的期望:(112∗1n+122∗1n+......+1(原创 2020-08-07 00:20:13 · 266 阅读 · 0 评论 -
2020杭电多校第四场1002、1004、1005,1011、1012、1007
2.Blow up the Enemy题目传送门Blow up the Enemy思路儿子肯定直接选价值最大的武器(即为最小次数打出100伤害),张三如果不选相同次数即可打出100伤害的武器就会输,所以我们统计武器中最快打出100伤害的武器的个数k,k/2nk/2nk/2n即为儿子输的概率,求儿子赢的概念为1−k/21-k/21−k/2代码#include<cstdio>#include<iostream>#include<algorithm>#in原创 2020-08-01 11:26:06 · 226 阅读 · 0 评论 -
杭电多校第三场1004、1005、1007、1009
4.Tokitsukaze and Multiple题目传送门Tokitsukaze and Multiple思路理解题意:将序列分成若干段,看倍速为p的有几段记录数组a的前缀和并且对p取模,当同一个数字出现两次时,说明该段的数字之和应该是p的倍速,取模为0的情况直接为p的倍速代码#include<cstdio>#include<iostream>#include<algorithm>#include<map>using namesp原创 2020-07-29 23:57:59 · 200 阅读 · 0 评论 -
2020杭电多校第二场题解1001,1006,1010,1012
1.Total Eclipse题目链接http://acm.hdu.edu.cn/showproblem.php?pid=6763思路很明显的对于一个连通块需要执行其中点权值最小的那个,连通块也可能分裂, 只要每次找个连通块反复删最小的权值即可,但这种情况不好实现,所以换下面这种方法从最大权值的点倒着添加边,也就是新增点时,小权值点向一个大权值点连接边时,小取值需要的变成0的次数可以由大权值的点承担(因为连通,在减大权值的时候小权值一起减)。1、对输入的点按照权值非递减排序,12.St原创 2020-07-24 21:54:18 · 384 阅读 · 1 评论 -
Fibonacci Sum(二次剩余,逆元,欧拉降幂,快速幂)
Fibonacci Sum题目链接http://acm.hdu.edu.cn/showproblem.php?pid=6755思路首先关于题目需要的知识点单独记录在了下面的博客https://blog.youkuaiyun.com/xmyrzb/article/details/107526823求出斐波那契数列的通项公式为Fn=d(an−bn)F_n = d(a^n-b^n)Fn=d(an−bn),其中d=15\quad d=\frac 1 {\sqrt 5}d=51, a=1+52\qua原创 2020-07-23 10:52:43 · 585 阅读 · 0 评论 -
2020杭电多校第一场题解1004,1005,1009
Distinct Sub-palindromes题目链接http://acm.hdu.edu.cn/showproblem.php?pid=6754思路子回文串最少,n<=3时都是pow(26,n),当n>=4时,可以构造abcabcabc…这样的字符串,因为这样除了a,b,c就不会产生其他的子回文串并且使得最低的为3个,个数都为C(26,3)* A(3,3);代码#include<cstdio>#include<iostream>#include原创 2020-07-21 22:13:38 · 1214 阅读 · 0 评论