自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 [2016CCPC-final] H Engineer Assignment 状压dp

给出n,m≤10n,m\leq10n,m≤10分别代表有nnn个工程以及mmm个工程师,然后给出每个工程所需要能力以及每个工程师所具备的能力,求问如果分配工程师使得能够完成的工程最多。因为数据范围很小,可以直接预处理对于每个工程iii,所有2m2^m2m种状态的工程师是否可以完成。那么fi,Sf_{i,S}fi,S​表示到前iii个工程,当前工程师的状态是SSS能够完成的最多的工程数。然后暴力...

2019-10-21 10:55:58 239

原创 [2016CCPC-final] B Wash 贪心

给出l≤1e6l\leq1e6l≤1e6件衣服,然后给出n≤1e5n\leq1e5n≤1e5台洗衣机以及m≤1e5m\leq1e5m≤1e5台烘干机,每台洗衣机有一个洗衣服的时间wiw_iwi​,每台烘干机有一个烘干的时间did_idi​,然后求问最少的把所有的衣服烘干的时间。首先,应该让每一件衣服尽早洗完。优先队列维护下每台洗衣机结束的时间,直接模拟。然后贪心把洗完时间最晚的衣服优先用更快的烘...

2019-10-21 10:46:14 305

原创 [2017ICPC-EC上海] B Scapegoat 贪心

给出n≤2e5n\leq2e5n≤2e5个数,并且给出m≥nm\geq nm≥n,你要将这nnn个数均分为mmm组,然后使得这些数的值的方差最小,求问最小的方差是多少。分成了mmm组,其实最终的平均值是不变的,即∑i=1nai/m\sum_{i=1}^{n}a_i/m∑i=1n​ai​/m,而且每个数至少要分到一组里面。接下来就是每次贪心把一个数多划分一组,选择那个多划分一组之后对答案的贡献下降...

2019-10-13 20:53:30 272

原创 [洛谷P2992] 三角形计数 几何

平面上给出n≤1e5n\leq1e5n≤1e5的点,然后求有多少个三角形满足这个三角形包含原点(0,0)(0,0)(0,0)。直接考虑包含原点的三角形比较难计算。考虑算不包含原点的三角形的个数,固定一个点,那么所有不包含原点的三角形的另外两个端点一定在该点与原点连线直线的同一个半平面中。对每个点只选取逆时针的半平面避免出现重复的情形。这样对所有的点先极角排序,然后双指针维护左半平面点的个数。...

2019-10-11 14:55:58 219

原创 [2018ICPC焦作] K Counting Failures on a Trie 哈希+倍增

给出一个n≤1e5n\leq1e5n≤1e5的字典树,并且给出n≤1e5n\leq1e5n≤1e5的字符串sss,每次询问给出一个区间[l,r][l,r][l,r],然后让这个子串在字典树上沿边匹配。每次如果失配就会重新回到根的位置重新匹配。对于每次查询,求出失配的次数以及最终匹配到位置。先考虑如何快速求出第一次失配的位置,对于每个后缀的开头,一定满足当前这个前缀如果不失配,那么更小的前缀也不会...

2019-10-11 01:21:46 261

原创 [2018ICPC焦作] H Can You Solve the Harder Problem? 后缀数组+线段树

一句话题意:给出n≤1e5n\leq1e5n≤1e5个数,求所有本质不同的连续子序列最大值和。如果没有本质不同的条件限定:对于每个左端点iii,记录fif_ifi​是iii作为左端点答案。fi=(j−i)+fjf_i=(j-i)+f_jfi​=(j−i)+fj​,jjj是第一个值不小于iii的位置。求每个位置向右第一个不小于...

2019-10-10 20:16:02 282

原创 [2019CCPC秦皇岛] G Game on Chessboard 状压dp

给出一个最大12×1212×1212×12的棋盘,然后棋盘上有黑色或者白色的棋子。每个棋子都有一个权值。现在你要把所有的棋子全部拿走,你有两种取法:1.任意取走一个棋子,付出这个棋子权值的代价。2.取走一对棋子,付出两个棋子权值绝对值的代价,但是必须要满足的条件是你如果想拿走现在这个棋子,你必须要保证这个棋子作为右上端点的矩形里面没有其它的棋子。求问拿完所有的棋子最小的权值是多少。首先,单取一个...

2019-10-10 19:53:50 908

原创 [2018ICPC沈阳] L Machining Disc Rotors 几何

给出一个圆心在(0,0)(0,0)(0,0)半径为RRR的圆,以及n≤100n\leq100n≤100个圆,这些圆和大圆的重合部分会被切割掉。数据保证任何两个切割的部分都不会有交点,也不会出现切割部分就是一整个圆的情形。对于内含的这一部分情形,对答案不会产生影响。只考虑相交的情形,答案有两种可能。要么是原来的圆的某条直径,要么是两个端点的距离。判断是否存在某条直径有一个简单的做法,枚举每个端...

2019-10-09 23:57:31 248

原创 [2018ICPC沈阳] G Best ACMer Solves the Hardest Problem map+set

给出一个6000∗60006000*60006000∗6000大小的平面,平面上初始的时候有若干个点,点上有权值。然后支持四种操作:1.插入权值为www的点。2.删除某个位置的点。3.给距离某个位置为k\sqrt kk​距离的点都加上www的权值。4.对距离某个位置k\sqrt kk​距离的点权求和。点的范围不大。可以预处理出来所有距离为k\sqrt kk​在两个方向上可以分解为哪些长度。插入和...

2019-10-09 20:38:23 189

原创 [2018ICPC沈阳] C Insertion Sort 组合数学

给出一个长度n≤50,k≤50n\leq50,k\leq50n≤50,k≤50的排列,然后对前kkk个排序之后满足序列的最长上升子序列长度为n−1n-1n−1的方案数有多少种。前kkk个数最终会排序,所以不考虑顺序,一共有k!k!k!种可能。若前kkk个数是111...

2019-10-09 10:28:45 421

原创 [2019CCPC秦皇岛] E Escape 最大流

给出一个n×mn×mn×m的矩阵,n,m≤100n,m\leq100n,m≤100。给出aaa个入口,表示有aaa个机器人从这些入口进来。给出bbb个出口,表示机器人可以从这bbb个出口出去。一些格子是障碍点表示无法通行,然后你可以在每个格子最多设置一个转向机关让机器人转向。转向分别可以转化左下,右下,左上,右上。求问是否最终aaa个机器人都能走出去。因为无论是转向或者是不转向。如果两个机器人的...

2019-10-08 11:21:23 221

原创 [2019CCPC秦皇岛] K MUV LUV UNLIMITED 树上博弈

给出n≤1e6n\leq1e6n≤1e6的树,然后两个人玩博弈游戏,每次可以选择若干的叶子结点把它删掉。如果只有一条链的情形,取决于奇偶性。如果某一条链的链底的父亲有超过两个儿子,那么此时相当于可以改变一次奇偶性,所以这样的状态是必胜态。否则就判断所有的叶子节点到最近的出度大于2的祖先的链长,当且仅当所有链长均为偶数的时候是必败的。#include<bits/stdc++.h>...

2019-10-08 11:00:03 262

原创 [2019CCPC秦皇岛] A Angle Beats 极角排序

给出n≤2e3n\leq2e3n≤2e3个点,以及q≤2e3q\leq2e3q≤2e3个点,保证所有的点都互不相同,对于每次询问的这个点,求问有多少对(u,v)(u,v)(u,v),和当前这个点构成一个直角三角形。分成两种情形:1.询问的点是直角的顶点:对n个点以询问点为中心极角排序。然后枚举每个点,二分出逆时针90°的点有多少个,只考虑一个方向就不会重复计算。2.询问的点是不是直角的顶点:...

2019-10-08 10:36:22 355 2

原创 [2019CCPC秦皇岛] J MUV LUV EXTRA KMP

给出一个字符串,并且给出参数a,ba,ba,b。然后对于这个字符串的一个可以通过在后面增补字符而构成循环节的一个子串。它的长度为lll,它的整个循环在当前串中出现的长度为ppp,求最大的ap−blap-blap−bl。事实上对于从iii这个后缀选择的任何前缀,ppp的值是固定的一定是后缀的长度,所以对于后缀选定的情形下,自然是lll尽量小。所以要求一个后缀的最小循环节,考虑将串倒置,求前缀的最...

2019-10-08 10:13:45 164

原创 [2019CCPC秦皇岛] F Forest Program 点双连通分量

给出一个n≤3e5n\leq3e5n≤3e5的仙人掌,然后求问有多少种删边的方案,使得这个仙人掌变成一个森林,仙人掌保证一条边不会被两个简单环共用。找出所有的环,那么环中的边只要至少删掉一条即可满足,而剩下所有的非环的边则可删可不删,直接求出所有的点双连通分量,计算出答案。...

2019-10-07 22:33:16 151

原创 [2019HNCPC] D Modulo Nine dp

给出一个n≤50n\leq50n≤50的允许有前导0的数字串,以及m≤50m\leq50m≤50个区间[l,r][l,r][l,r]求满足所有的区间的数字乘积是9的倍数的方案数。满足乘积是9的倍数即这个区间有超过2个9的质因子也就是3的个数要超过2个。显然3,6各有一个,9有两个,而0只要出现就一定是9的倍数,这里也可以认为是两个。记录下两个最近的因子的位置fi,j,kf_{i,j,k}fi,j...

2019-10-06 11:00:51 211

原创 [2018HNCPC] G 排列 状压dp

给出n≤20n\leq20n≤20的数pip_ipi​以及mmm个二元组(ai,aj)(a_i,a_j)(ai​,aj​),然后要求重新排列这个数列,使得∑i=1m∣api−apj∣\sum_{i=1}^{m}|a_{p_i}-a_{p_j}|∑i=1m​∣api​​−apj​​∣最小。先对数组排序,然后从小到大填入每个数,这样就不用考虑绝对值的影响。同时记录下位置所在的二元组的状态以及二元组的...

2019-10-05 21:51:40 171

原创 [2018HNCPC] E Grid 线段树

给出一个n×mn×mn×m,n,m≤1e9n,m\leq1e9n,m≤1e9的矩形。一开始,矩形中的每个点都不连通。然后有q≤1e5q\leq1e5q≤1e5的操作,每次操作都会把[l,r][l,r][l,r]行或者[l,r][l,r][l,r]列全部连接起来,求问对于每一次操作之后的连通块的个数是多少。对于每次询问,如果只连接了行或者列的话。以连接了xxx行为例,那么总共有nm−x(m−1)n...

2019-10-05 20:25:57 225 1

原创 [2017HNCPC] Strange Optimization 简单数论

给出正整数n,m≤1e9n,m\leq1e9n,m≤1e9,并且定义函数f(t)=min⁡i,j∈Z∣in−jm+t∣f(t)=\min_{i,j\in Z}|\frac{i}{n}-\frac{j}{m}+t|f(t)=mini,j∈Z​∣ni​−mj​+t∣,求一实数α\alphaα使得f(12+α)f(\frac{1}{2}+\alpha)f(21​+α)最大,求出值。由于α\alphaα...

2019-10-04 20:37:12 248

原创 [2018HNCPC] J 买一送一 树形dp

给出一个根为111,n≤1e5n\leq1e5n≤1e5有点权的树,定义每个结点f(i)f(i)f(i)为从根结点到这个结点上任选两个点u,vu,vu,v的点权构成的不同的<w(u),w(v)><w(u),w(v)><w(u),w(v)>的个数。求∀i∈[2,n]\forall i\in [2,n]∀i∈[2,n]的f(i)f(i)f(i)。遍历树时候如果vv...

2019-10-03 23:45:43 142

原创 [2018HNCPC] H 千万别用树套树 线段树

给出q≤1e5q\leq1e5q≤1e5次操作,每次向集合SSS插入一个线段或者查询对于当前线段,SSS中有多少个线段完全覆盖它。保证端点最大值不超过1e51e51e5,并且被查询的线段的长度最多为222。求出有多少个线段的右端点小于当前线段的右端点,有多少个线段的左端点大于当前线段的左端点,用总数减掉这些线段的个数。只有左右端点都被包含的线段被多见...

2019-10-03 23:35:27 200

原创 [2018JSCPC] HDU 6279 Circular Coloring dp

给出nnn个黑球,mmm个白球,并且m,n≤5000m,n\leq5000m,n≤5000。然后呈环状排列,相同的颜色看作连续的一段,答案是这些段的长度之积。求问所有可能的排列答案之和是多少。最终构成环状的形态一定是白球和黑球都分成了iii段,i≤min(n,m)i\leq min(n,m)i≤min(n,m)。枚举最终分成了多少段,预处理出白球和黑球分成iii段的答案。那么ans=(n+m)∑...

2019-10-02 22:11:58 175

空空如也

空空如也

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

TA关注的人

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