yozora0908's blog
  • 首页
  • 归档
  • 标签
  • 分类
  • 关于
  • 友链

「Edu Codeforces Round」#134

CF1721. A. Image #include<bits/stdc++.h> using namespace std; #define int long long int read() { int a=0, f=1; char c=getchar(); while(!isdigit(c)) { if(c=='-') f=-1;
2022-08-30
题解
#构造 #Codeforces #贪心

「NowCoder Round X」#56

NowCoderX56. 水。 A. 阿宁的柠檬 #include<bits/stdc++.h> using namespace std; #define int long long int read() { int a=0, f=1; char c=getchar(); while(!isdigit(c)) { if(c=='-'
2022-08-29
题解
#构造 #贪心 #最短路 #NowCoder

「NowCoder Round X」#55

NowCoderX55. A. 至至子的等差中项 #include<bits/stdc++.h> using namespace std; #define int long long int read() { int a=0, f=1; char c=getchar(); while(!isdigit(c)) { if(c=='-')
2022-08-21
题解
#构造 #DP #贪心 #组合数学 #NowCoder

「Codeforces Round」#816 (Div 2)

CF1715. A. Crossmarket 钦定 \(n \ge m\)。 不难发现,最优操作方式一定是一个先走完 \((n-1) + (m-1)\) 的路程,另一个只需要走 \((m-1)\) 的路程加上 \(1\) 的传送即可。 #include<bits/stdc++.h> using namespace std; #define int long long int
2022-08-21
题解
#构造 #Codeforces #贪心

LOJ#3381 函数调用 题解

分析 函数调用,满足不出现递归,本身就构成了一张 DAG。 由于乘法操作是全局乘法,所以可以提前预处理乘法操作,而加法操作最终的贡献,取决于在它之后乘上多少次。 设 \(pls_i\) 为第 \(i\) 个函数执行的加法的值,如果没有的话则为 \(0\),\(id_i\) 为第 \(i\) 个函数要执行加法的元素的编号,没有的话为 \(0\),\(mul_i\) 为第 \(i\) 个函数
2022-08-20
题解
#图论 #拓扑排序

LOJ#3387 字符串匹配 题解

分析 规定以下讨论中,字符串的下标从 \(1\) 开始。 注意到 \((AB)^K\) 一定是一段前缀,\(C\) 一定是一段后缀,而 \(AB\) 又一定是 \((AB)^k\) 的前缀,且满足连续出现 \(k\) 次。 考虑 \(S\) 的 \(z\) 函数。 如果知道了 \(AB\) 的长度和 \(k\),那么就能计算出对应的 \(C\)。设当前 \(AB\) 长度为 \(i
2022-08-20
题解
#树状数组 #字符串 #扩展KMP

「字符串学习笔记」#2 Z函数(扩展KMP)

前言 本来想着,暑假要多学点算法,结果就学了一点点…… 大部分时间拿来写题了。 有点小遗憾。 不过无妨。 Z 函数(扩展 KMP) 算法流程及实现 约定:字符串下标以 \(0\) 为起点。 对于一个字符串 \(S\),满足 \(|S| = n\),它的 \(z\) 函数定义为:\(z(i)\) 表示 \(S\) 和以 \(i\) 开头的后缀 \(S[i,n-1]\) 的最长公共前
2022-08-20
学习笔记
#字符串 #扩展KMP

「Codeforces Round」#815 (Div 2)

CF1720. A. Burenka Plays with Fractions \[ \frac{a}{b} = \frac{c}{d} \] \[ ad = cb \] 如果相等,答案为 \(0\)。 如果某一方是 \(0\),答案为 \(1\)。 如果两者有倍数关系,答案为 \(1\)。 否则为 \(2\)。 #include<bits/stdc++.h>
2022-08-19
题解
#DP #Codeforces #贪心 #Trie

「Codeforces Round」#805 (Div 3)

CF1702. A. Round Down the Price #include<bits/stdc++.h> using namespace std; int read() { int a=0, f=1; char c=getchar(); while(!isdigit(c)) { if(c=='-') f=-1; c=getc
2022-08-17
题解
#Codeforces #贪心 #最近公共祖先

一些简单DP题

luogu2606 排列计数 这个条件相当于,\([1,n]\) 有多少排列满足小根堆性质。 设 \(sz_i\) 为以 \(i\) 为根的子树大小。 那么 \(1\) 必定填 \(1\),而其他节点只需要考虑相对大小,所以对于 \(i\),只要规定了它的子节点内部到底用哪些数字,就一定存在合法方案。 设 \(f_i\) 为以 \(i\) 为根的子树的方案数,那么 \[ f_i =
2022-08-17
题解
#DP #线段树 #树形DP #概率论 #树状数组
1…45678…20

搜索

Hexo Fluid