分类: 算法

30 篇文章

Codeforces Round #786 (Div. 3)解题报告
读假题,写假题,人麻了 A. Number Transformation 根据题意可以很简单的发现,如果y不能被x整除就输出0 0,否则输出1 $\frac{y}{x}$即可 B. Dictionary 手推一下即有:索引为(s[0]-'a')*25-(s[1]>s[0])+s[1]-'a' C. Infinite Replacement 根…
dp菜?
C. Palindrome Basis #include <algorithm> #include <bitset> #include <map> #include <vector> #include <string> #include <iostream> #include …
NOI2018 归程
题解给了个假的dijkstra? #include<cstdio> #include<cstring> #include<algorithm> #include<queue> #include<bitset> #define N 200100 #define M 400100 #define Inf 214748364…
Codeforces Round #783
D. Optimal Partition 考虑到动态规划有:$dp_i=max\{dp_i,dp_j+i-j\}$其中$(j < i,sum[j] \leqslant sum[i])$,所以我们可以用树状数组维护最大值$dp_i-i$ #include <algorithm> #include <bitset> #in…
L3-3 可怜的简单题
代码存档: #include <cstdio> #include <iostream> #include <cstring> #include <bitset> using namespace std; #define IN freopen("in.txt", "r", stdin) #define …
CodeTON Round 1解题报告
今天这场比前天的Educational Codeforces Round 125打得舒服? A. Good Pairs 容易知道只需输出序列中最大和最小的数的位置即可 B. Subtract Operation 以前的某场round有过类似操作的题,消减后我们可以发现只需查找是否存在$a_i+k=a_j$,有输出YES即可,否则为NO C. Mak…
优先队列
院里的天梯赛选拔搬了道--洛谷P7913 [CSP-S 2021] 廊桥分配 赛中懵掉想着是set做。。。 我们可以按照题意用优先队列进行模拟,用pair来存飞机离开时间和廊道编号,对于下一架飞机到达时,判断队列中飞机是否离开廊道,而廊道编号用set来存取 然后求出国内国际廊道的前缀和求解 #include <queue> #inclu…
Codeforces Round #773 (Div. 2) 解题报告
A. Hard Way 题意是给定平面三角形,求x轴上的点与三角形边的点连线经过三角形内部的点集长度 容易发现当$y_1=y_2\geq y_3$时,答案为$|x_1-x_2|$,其他情况下均为0 B. Power Walking 题意为给定一个长度为N的序列,将序列中的数分给$K(1\leq K\leq N)$个小孩,求每个小孩分到的序列中不同数…
树状数组-BIT
洛谷P3374 //单点修改,区间查询 #include<cstdio> #include<vector> #define lowbit(x) (x&(-x)) using namespace std; int main(){ int n,m; scanf("%d%d",&n,&m); vector<lon…
Dinic算法
Dinic算法是一种解决网络流问题的增光路算法,它先对残量网络建立层次图,然后在层次图上寻找增广路,实现了O(n2m)的时间内求出网络最大流。 算法: 遍历残量网络,建立层次图在层次图上寻找增广路进行增光,并将答案加上增广流量重复直至层次图不存在增广路,回到第一点重新建立层次图直到层次图无法建立,即当前流量即为最大流量 无法建立层次图时,说明源点到…