自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 资源 (1)
  • 收藏
  • 关注

原创 网络流/费用流学习总结

网络流不解释了模板网络流模板大概原理是建边时建一条流量为0的反向边,可以用来反悔,选择一条路径后,路径上原来的边减去流量,反向边加上流量,不断找有没有更大的答案即可,dinic用dfs优化了一下,一般不会被卡。最小割,最少去掉的边的值使得源点汇点不相连,最小割 === 最大流//点从1-n 包括源点汇点 边从2开始编号 方便异或//一次建好两条边const int INF = 0x3f3f3f3f;const int N = 1e5+7;const int MAXN = 1e5+7;i

2022-03-11 16:59:26 283

原创 CF #1631D Range and Partition

题意给一段长 nnn 序列,分为 kkk 段,求任意一个最短的区间 [x,y][x, y][x,y] 满足每段序列中在区间内的数的个数大于不在区间内数的个数,输出这个区间和序列的分段方法。(1≤k≤n≤2 ⋅ 105)(1\leq k\leq n \leq 2 \ \cdot\ 10^5)(1≤k≤n≤2 ⋅ 105)思考既要分段,又要求区间,还是最小的区间,要考虑的因素太多了,而且还是Nlog⁡NN\log NNlogN,那么就得二分答案,二分啥呢,什么又能

2022-03-05 12:03:39 137

原创 CF #765C Road Optimization

题目有个 n \,n\,n路标,长 l \,l\,l的路,选其中至多 k \,k\,k个路标,使得走完全程所用时间最少。(n<500)(n<500)(n<500)给出每个路标的位置和限速,到下一个路标前必须以这个速度走,第一个路标不可移除。思考显然是个 n3n^3n3 DP,考虑 dp[ i ][ j ]dp[\,i\,][\,j\,]dp[i][j] 表示前 j ⁣− ⁣1j\!-\!1j−1 个路标至多去掉 iii 个走到 jjj 的最小费用。为什么不能去掉 jjj 点呢,因

2022-03-04 19:26:34 206

原创 Codeforces Round #290 (Div. 2) D Fox And Jumping

Problem - D - CodeforcesCodeforces. Programming competitions and contests, programming communityFox Ciel is playing a game. In this game there is an infinite long tape with cells indexed by integers (positive, negative and zero). At the beginning she i

2021-12-14 21:29:46 533

原创 Educational Codeforces Round 118 (Rated for Div. 2) ABCDE题解

A问:数比大小解:先把数变成 个位数+n个0注意小数失精B问:给一串数,让选若干对数字a和b,俩数都出现过,而且a%b没有出现,数可以重复选解:因为数可以重复,选最小的为b,任意一个数mod b一定都没出现C问:屠龙游戏,...

2021-12-14 13:11:10 144

原创 LibreOJ β Round #2 515 贪心只能过样例

问:n个x,xi 最多可以取Li 到 Ri,求sigma(xi*xi),n , Li, Ri <= 100考虑暴力dp因为和最大为100* 100* 100 = 1e6枚举n个数枚举这n个数取的值枚举每个状态是否能从上个数的状态转移复杂度 100 * 100 * 100000 = 1e10显然是不行的可以用bitset优化,因为是集合的形式,位运算相当的快。a 存上一个状态所有的答案,第i位为1说明到上一个状态前面这些数的和可以表示出itmp 存上个状态加上一个数后得到的新的可以

2021-12-12 17:51:26 371

原创 Codeforces Round #758 (Div.1 + Div. 2) ABC题解

A. 签到题, 输出2~n+1即可满足B.问:给定n,求是否有刚好有a个数,他们两边的数都小于他,b个数,他们两边的数都大于他。如果有输出一种n个数的排列,不然输出-1。解:易知,把一个排列按1, n, 2, n-1 排会发现:a 和 b最大相差1个然后按最优情况排即可,排完直接按顺序正序或者倒序输出剩下的数。#pragma GCC optimize (2)#pragma G++ optimize(2)#pragma GCC optimize (3)#pragma G++ optim

2021-12-11 22:12:41 723

原创 ACM模板

目录搜索DFSIDA*搜索模拟退火BFS双向BFS动态规划背包01背包完全背包多重背包混合背包二维费用背包分组背包线性动态规划最长上升子序列(nlogn)最长公共子序列其他经典题目树形DP数论快速幂整数快速幂矩阵快速幂欧几里得算法拓展欧几里得算法埃氏筛欧拉筛排列和组合图论图论基础链式前向星操作拓扑排序欧拉路判断割边 割点点双连通分量和边双连通分量tarjan 求强连通分量以及缩点最短路FloydSPFADijkstra树最小生成树n小生成树倍增求最近公共祖先 (LCA)树的直径网络流最大流Dinic二分图匹

2021-08-24 08:45:30 630

原创 LCA & 用到LCA的各种题目

LCA求最近公共祖先LCALCA倍增实现快速求出树上两点的公共祖先,实现原理像是树上ST表,先预处理出来每个点的2^n的父亲是谁与它的深度,然后求lca时把两点先都跳到同一高度,如果重合为一个点,则这个点就是最近公共祖先,不然就倍增从大到小跳,直到跳到祖先的儿子节点,然后返回此时节点的父亲节点。代码:#include <bits/stdc++.h>using namespac...

2019-08-22 20:38:00 847

fontke_svg.svg

fontke_svg.svg

2022-05-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除