自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Joker & Liar的博客

从你的全世界路过

  • 博客(248)
  • 收藏
  • 关注

原创 2021 Jiangxi Provincial Collegiate Programming Contest - H. Hearthstone So Easy

题意:plljplljpllj 和 freesinfreesinfreesin 初始各拥有 nnn 滴血,每一回合由两个玩家先后进行,例如第 iii 回合:玩家先减去自身 iii 滴血;玩家选择自身血量 +k+k+k 或者 对方血量 −k-k−k;给定 nnn 和 kkk ,双方都保持最优策略,求必胜方?分析:首先明确两点:每一回合开始前,双方的血量是一致的;同一回合中,先手干不掉后手,后手也无法在同回合干掉先手;第一回合结束游戏的情况有:n=1n=1n=1 :此时先手必败n

2021-10-30 00:29:15 315

原创 HDU6858 - 2020杭电多校第八场 1004 - Discovery of Cycles

大致题意:给定 nnn 个点 mmm 条边的无向图,边的编号为 111 到 mmm ,现有 qqq 次在线询问,每次询问给出 l,r (1≤l≤r≤m)l,r~(1 \leq l \leq r \leq m)l,r (1≤l≤r≤m) ,问编号在 [l,r][l,r][l,r] 内的边组成的图中是否存在环;1≤n,m,q≤3⋅1051 \leq n,m,q \leq 3 \cdot 10^51≤n,m,q≤3⋅105分析:询问特别多,考虑预处理出以每一个边为起点边 形成环需要到达

2020-08-23 00:57:48 243

原创 HDU6856 - 2020杭电多校第八场 1002 - Breaking Down News

大致题意:将大小为 nnn 的整数数组 a (ai∈{−1,0,1})a~(a_i \in \{-1,0,1\})a (ai​∈{−1,0,1}) 分为若干段,规定每段的大小介于 [L,R][L,R][L,R] ,每段的权值与其元素和有关,设一个段的元素和为 sumsumsum ,权值为 vvv若 sum<0sum<0sum<0 ,则 v=−1v=-1v=−1;若 sum=0sum=0sum=0 ,则 v=0v=0v=0;若 sum>0sum>0s

2020-08-21 22:24:02 276

原创 #664 (Div. 2) - E.Boboniu Walks on Graph

大致题意:有 nnn 个点 mmm 条边的有向图,边的权值分别为 111 ~ mmm 互不相同,且每个点的出度不超过 kkk ,现在有一个 kkk 元组 (c1,c2,…,ck)(c_1,c_2,\ldots ,c_k)(c1​,c2​,…,ck​) ,对于某个出度为 outuout_uoutu​ 的点 uuu ,仅保留以 uuu 为起点权值第 cdeguc_{deg_u}cdegu​​ 小的边,要求最后形成的有向图每个点都能回到自身,即有向图形成一个环;求满足条件的 kkk 元组的个数;2≤n≤2⋅1

2020-08-15 13:08:59 201

原创 2020牛客多校(第三场)- F.Fraction Construction Problem

大致题意:给你两个正整数 aaa 和 b (a,b≤2×106)b~(a,b \leq 2 \times 10^6)b (a,b≤2×106) ,要求出 四个正整数 c,d,e,fc,d,e,fc,d,e,f 满足cd−ef=ab\frac{c}{d}-\frac{e}{f}=\frac{a}{b}dc​−fe​=ba​d<b and f<bd<b~and~f<bd<b and f<b1≤c,e≤4×1

2020-07-31 21:17:59 155

原创 2020牛客多校(第一场)- I.1 or 2

大致题意:有 nnn 个顶点,初始给出 mmm 条边,问能否从中选出一些边使得构成的图的所有顶点的度 degreeidegree_idegreei​ 满足 degreei=di (1≤di≤2)degree_i=d_i~(1 \leq d_i \leq 2)degreei​=di​ (1≤di​≤2) ,ddd 数组事先给出;分析:根据 ddd 数组的范围,把 di=2d_i=2di​=2 的点拆成两个点,这样每个点只需要匹配一条边,就变成了一般图最大匹配;此外因为给出的边是按照原

2020-07-26 00:47:45 178

原创 2020牛客多校(第一场)- H.Minimum-cost Flow

大致题意:给定 nnn 个点 mmm 条边的网络,每条边给出单位流量的花费,现在有 qqq 次询问,每次给出 u,vu,vu,v 表示把所有边的容量设定为 uv\frac{u}{v}vu​ ,问能否从点 111 到 nnn 流过 一单位流量,可以的话给出最小花费;2≤n≤502 \leq n \leq 502≤n≤501≤m≤1001 \leq m \leq 1001≤m≤1001≤ai,bi≤n1 \leq a_i,b_i \leq n1≤ai​,bi​≤n1≤ci≤1051 \leq c_i

2020-07-23 10:59:38 126

原创 2020牛客多校(第一场)- A.B-Suffix Array

题目描述:给定一个仅含字母 aaa 和 bbb 的字符串 ttt ,并给出 BBB 数组的构造方法:若存在 j<i and ti=tjj<i~and~t_i=t_jj<i and ti​=tj​ ,则 Bi=min1≤j<i,ti=tj{i−j},B_i=min_{1\leq j<i,t_i=t_j}\{i-j\},Bi​=min1≤j<i,ti​=tj​​{i−j},否则,bi=0.b_i=0.bi​=0.现在要求对

2020-07-21 20:11:01 187

原创 Educational Codeforces Round 90 (Rated for Div. 2) - G. Pawns

题意:一个 n×nn \times nn×n 的棋盘上会有 mmm 次变化,每次变化都会在某个空的位置上出现一个兵 或者 移去存在棋盘上的某个兵;一个兵处于坐标 (x,y)(x,y)(x,y) 可以移动到 (x,y+1)(x,y+1)(x,y+1) , (x−1,y+1)(x-1,y+1)(x−1,y+1) 或 (x+1,y+1)(x+1,y+1)(x+1,y+1),前面是列,后面是行;有一个特殊列 kkk,每次变化,你都要计算把所有的兵移动到第 kkk 列(不可以重叠),需要在棋盘上第 nnn 行之

2020-06-29 17:23:32 212

原创 Educational Codeforces Round 90 (Rated for Div. 2) - F. Network Coverage

题意:有 nnn 个城市围城一圈,第 iii 个城市有 aia_iai​ 个网络需求,每个城市建有一个网络站,第 iii 个城市的网络站可以提供 bib_ibi​ 个网络需求;且 第 iii 个城市的网络站只能提供需求给第 iii 和 i+1i+1i+1 个城市 (n+1=1)(n+1=1)(n+1=1),问是否存在合理分配使得所有城市的所有需求都被满足分析:围成一圈,所以只要确定一个网络站的分配,就可以贪心判断是否有解;考虑城市 iii 中网络站对需求的分配 kkk (即网络站 iii 对城市 ii

2020-06-27 22:42:37 132

原创 Educational Codeforces Round 90 (Rated for Div. 2) - E. Sum of Digits

题意:给定 nnn 和 k (1≤n≤150,0≤k≤9)k~(1 \leq n \leq 150,0 \leq k \leq 9)k (1≤n≤150,0≤k≤9) ,找到最小的 xxx ,使得:f(x)+f(x+1)+⋯+f(x+k)=nf(x)+f(x+1)+ \cdots + f(x+k)=nf(x)+f(x+1)+⋯+f(x+k)=n其中 f(x)f(x)f(x) 表示 xxx 的十进制数字的和分析:因为 0≤k≤90 \leq k \leq 90≤k≤9 ,所以最多

2020-06-27 16:57:23 142

原创 Codeforces Round #649 (Div. 2) D

题意:给一个无向图,不含重边和自环,现在给出一个整数 kkk ,现在有两个问题:在图中找到大小为 ⌈k2⌉\lceil \frac{k}{2} \rceil⌈2k​⌉ 的独立点集;在图中找到长度不超过 kkk 的环;其中独立点集即集合中任意两点之间没有边;给出的无向图至少满足上面两种情况之一,现在要求你解决其中一个问题(自选),并输出具体答案,问题 111 输出独立点集,问题 222 按顺序输出环;分析:dfsdfsdfs 的同时用递归深度做权值判断每个环的大小,找到符合问题 222 的环就

2020-06-24 00:19:31 168

原创 Educational Codeforces Round 89 (Rated for Div. 2) E. Two Arrays

题意:给定长度分别为 nnn 和 mmm 的两个数组 aaa 和 bbb ,现在将 aaa 划分为 mmm 段,要求第 iii 段的最小值等于 bib_ibi​ ,求有多少种划分方式;1≤n,m≤2⋅105;1 \leq n,m \leq 2 \cdot 10^5;1≤n,m≤2⋅105;1≤ai≤109;1 \leq a_i \leq 10^9;1≤ai​≤109;1≤bi≤109;bi<bi+11 \leq b_i \leq 10^9;b_i<b_{i+1}1≤bi​≤109;bi​

2020-06-17 16:56:00 140

原创 Educational Codeforces Round 89 (Rated for Div. 2) D. Two Divisors

题意:每一组给出一个数 m (2≤m≤107)m~(2 \leq m \leq 10^7)m (2≤m≤107) ,找到数 mmm 的两个大于 111 的因数 d1d_1d1​ 和 d2d_2d2​ ,使得 gcd(d1+d2,m)=1gcd(d_1+d_2,m)=1gcd(d1​+d2​,m)=1,存在则输出任意一组,否则答案为 −1-1−1 ;一共有 n (1≤n≤5⋅105)n~(1 \leq n \leq 5 \cdot 10^5)n (1≤n≤5⋅10

2020-06-15 16:25:05 115

原创 Codeforces Round #647 (Div. 2) E. Johnny and Grandmaster

题意:给出 nnn 个数 pkip^{k_i}pki​ ,把这些数分成两组然后分别组内求和,求两组差的绝对值最小为多少。分析:把这些数看成 ppp 进制,然后按 kik_iki​ 从大到小排序,那么若 pk1<pk2+pk3+...+pknp^{k_1}<p^{k_2}+p^{k_3}+...+p^{k_n}pk1​<pk2​+pk3​+...+pkn​,那么一定有 pk1=pk2+pk3+...+pkm (m<n)p^{k_1}=p^{k_2}+p^{k_3}+..

2020-06-11 15:13:11 120

原创 Codeforces Round #647 (Div. 2) F

题意:给你 nnn 条链,第 iii 条链两端代表的点是 2i−12i-12i−1 和 2i2i2i ,共计 2n2n2n 个点都有权值,现在要把这些链组成一个环,两条链之间的连接值就是相连的两个节点的权值异或结果的lowbit的基于2的对数,即 val=log(lowbit(a异或b));val=log(lowbit(a异或b));val=log(lowbit(a异或b)); 如果权值相等则默认连接值为 202020,问如何连接可以使得最小连接值最大。分析:因为连接值的范围在 [0,20][0,20

2020-06-11 12:55:43 120

原创 Codeforces Round #648 (Div. 2) G. Secure Password

题意:交互题,给你大小为 nnn 但具体元素未知的数组 AAA ,对应的密码组 PPP 与 数组 AAA 的关系:Pi=A1∣A2∣...∣Ai−1∣Ai+1∣...∣AnP_i=A_1|A_2|...|A_{i-1}|A_{i+1}|...|A_nPi​=A1​∣A2​∣...∣Ai−1​∣Ai+1​∣...∣An​即 PiP_iPi​ 为数组 AAA 中除第 iii 个元素外,其它所有元素的或;现在你有至多 131313 次询问,每次询问 格式: ? m x1 x2

2020-06-10 21:04:56 182

原创 Codeforces Round #646 (Div. 2) F. Rotating Substrings

题意给你长度相同的两个字符串 sss 和 ttt ,每次操作可以把 sss 中一个字符移到前面的任意位置,求最少经过多少次操作使得 sss 和 ttt 相等;解法1如果操作是可以把 sss 中一个字符任意移动,那不难想到最少操作次数即(字符串的长度 - s和t的最长公共子序列) ,而现在只能往前移动,那么此时需要求的 最长公共子序列 就需要有额外条件;我们知道最长公共子序列之间一一对应,对于 s[i]s[i]s[i] 和 t[j]t[j]t[j] ,若 s[i]=t[j]s[i]=t[j]s[i]=

2020-06-07 11:53:15 104

原创 CF Round 87

文章目录A. Alarm ClockB. Ternary StringC1. Simple Polygon EmbeddingC2. Not So Simple Polygon EmbeddingD. MultisetE. Graph ColoringF. Summoning MinionsG. Find a GiftA. Alarm Clocktime limit per test: 2 secondsmemory limit per test: 256 megabytes题意:给出 a,b,c

2020-05-27 23:12:52 163

原创 CF #643(div.2)

文章目录A. Sequence with DigitsB. Young ExplorersC. Count TrianglesD. Game With ArrayE. Restorer DistanceF. Guess Divisors CountA. Sequence with Digitstime limit per test: 1 secondmemory limit per test: 256 megabytes题意: 给定如下递推式an+1=an+minDigit(an)⋅maxDigi

2020-05-21 00:58:33 194 1

原创 POJ - 2289(二分+匈牙利)

题意: 把 N 个人分成 M 组,给出 N 个人各自可选的组别集合,求一种合法的分配方案,使得人数最多的组的人数最少分析: 最多最少,一般二分跑不了,然后求分配就匈牙利稍微变形就可以了(变形是为了适应二分)代码:#include<vector>#include<string>#include<cstring>#include<iostream>using namespace std;#define pb push_back#define re

2020-05-17 23:33:26 148

原创 CF #642(div.3)

文章目录A. Most Unstable ArrayB. Two Arrays And SwapsC. Board MovesD. Constructing the ArrayE. K-periodic GarlandF. Decreasing HeightsA. Most Unstable Arraytime limit per test: 1 secondmemory limit per test: 256 megabytes题意: ttt 组数据 (1≤t≤104)(1 \leq t \leq

2020-05-17 01:06:39 146

原创 HDU - 2819(Swap)

题意: 给定 N×NN \times NN×N 的 010101矩阵,问这个矩阵是否可以经过若干次行置换和列置换使得它主对角线上的元素都为 111 ,无解则输出 −1-1−1 ,否则输出具体置换方案;分析: 对于需要若干次行置换和列置换达到的操作,我们肯定可以只选择 行置换 或者 列置换 达到,我们假设只进行 行置换,则按照 010101矩阵 分行列构成二分图求最大匹配,有解的情况即最大匹配为 n;代码:#include<bits/stdc++.h>using namespace std

2020-05-14 15:08:43 130

原创 HDU - 2444(The Accomodation of Students)

题意: 有 n 个学生,给出 m 对 (ui,vi)(u_i,v_i)(ui​,vi​),表示两个学生互相认识,现在要求把 这 n 个学生分成两组,要求组内的人互不相识,若无法分组输出 -1 ;否则,然后每次从两组中各选一人组成一对,要求这两人互相认识,问最多可以组成几对;分析: 分组,就是把 n 个学生根据 m 对相识关系构成二分图;然后选人组队,就是求二分图最大匹配,所以用匈牙利算法解决;判断可不可以分组可以用BFS队列解决;代码:#include<bits/stdc++.h>usi

2020-05-13 13:49:21 93

原创 CF #638(div.2)

凤凰专场文章目录A. Phoenix and BalanceB. Phoenix and BeautyC. Phoenix and DistributionD. Phoenix and ScienceE. Phoenix and BerriesF. Phoenix and MemoryA. Phoenix and Balance题意: 有 n 个硬币分别重 21,22,...,2n (n∈even)2^1,2^2,...,2^n~(n \in even)21,22,...,2n (

2020-05-11 21:23:36 231

原创 CF #639(div.2)

文章目录A. Puzzle PiecesB. Card ConstructionsC. Hilbert's HotelD. Monopole MagnetsE. Quantifier QuestionF. Résumé ReviewA. Puzzle Pieces题意:给定如上这种图形,问能否用这种图形组成类似矩阵的图形分析: 很直观的可以看出,单个图形有三个凸部和一个凹部,所以只能组成1×n1 \times n1×nn×1n \times 1n×12×22 \times 22×2这三

2020-05-08 21:21:17 344 2

原创 CF #627(div.3)

文章目录A. Yet Another Tetris ProblemB. Yet Another Palindrome ProblemC. Frog JumpsD. Pair of TopicsE. Sleeping ScheduleF. Maximum White SubtreeA. Yet Another Tetris Problem题意: 给定一个数组,每次可以给其中一个元素+2 ,问可否...

2020-05-06 21:08:08 158

原创 CF Round 86

文章目录A. Road To ZeroB. Binary PeriodC. Yet Another Counting ProblemD. Multiple TestcasesE. Placing RooksF. Make It AscendingA. Road To Zero题意: 给定 x 和 y ,a 和 b ,有两种操作①:花费 a ,选择 x 或 y 加一或者减一;②:花费 b ,...

2020-05-04 20:00:09 179

原创 Magic Beans

链接题意:给定 nnn 个魔豆和二维目的地 (x,y)(x,y)(x,y),每颗魔豆有两个属性 (a,b)(a,b)(a,b),如果在点 (x1,y1)(x1,y1)(x1,y1) 吃下这颗魔豆就会从移动到 (x1+a,y1+b)(x1+a,y1+b)(x1+a,y1+b) ,从 (0,0)(0,0)(0,0) 开始,有多少种方案可以到达 (x,y)(x,y)(x,y),魔豆可以任意选取,相同...

2020-04-24 16:56:03 311

原创 BZOJ 4971: [Lydsy1708月赛]记忆中的背包

链接分析:挺难的构造,首先需要想到模数没有任何用,因为我们总能找到 kkk 个方案的答案,然后需要想到对于总体积 www,可以用若干个体积为 111 的小物品和 一个体积为 mmm 的大物品组成,其中这个 m⩾⌊w2⌋m \geqslant \left \lfloor \frac{w}{2} \right \rfloorm⩾⌊2w​⌋这样子,每个方案只能选择一个大物品,设一共有 nnn 个体...

2020-04-21 14:53:45 246

原创 P3599 Koishi Loves Construction

题目描述Koishi 决定走出幻想乡成为数学大师!Flandre听说她数学学的很好,就给Koishi出了这样一道构造题:Task1:试判断能否构造并构造一个长度为 nnn 的 1…n1 \ldots n1…n 的排列,满足其 nnn 个前缀和在模 nnn 的意义下互不相同Taks2:试判断能否构造并构造一个长度为 nnn 的 1…n1 \ldots n1…n 的排列,满足其 nnn 个前缀...

2020-04-20 21:28:43 202

原创 P1484 种树

分析:首先可以想到常规 动态规划 的做法,设 dp[i][j]dp[i][j]dp[i][j] 为前 i 个坑种了 j 棵树可以获得的最大价值,转移方程即 dp[i][j]=max(dp[i−1][j],dp[i−2][j−1]+v[i])dp[i][j]=max(dp[i-1][j],dp[i-2][j-1]+v[i])dp[i][j]=max(dp[i−1][j],dp[i−2][j−1]...

2020-04-16 13:22:22 148

原创 浅谈邻项交换排序

文章目录概念Ⅰ:[P1080 国王游戏](https://www.luogu.com.cn/problem/P1080)Ⅱ:[P2123 皇后游戏](https://www.luogu.com.cn/problem/P2123)概念邻项交换排序是一种常见的贪心算法,它把决定相邻两个元素先后的决策推广到整个序列,从而获得最优解。Ⅰ:P1080 国王游戏题目描述恰逢 H 国国庆,国王邀请 n...

2020-04-15 16:44:37 652

原创 浅谈01分数规划

文章目录概念Ⅰ:基础01分数规划概念01分数规划一般是处理这样一类问题:给定 n 个二元组 ( Ai , Bi ),让你从中选择 m 个组 (m<=n)使得 ∑k=1mAkBk\sum_{k=1}^{m}\frac{Ak}{Bk}k=1∑m​BkAk​最大或最小,通常分为四类Ⅰ:基础01分数规划模板题(POJ2976)给定 n 个二元组 ( Ai , Bi ),从中选择 m=...

2020-04-13 11:25:10 1431

原创 「JLOI2015」城池攻占

分析:明显城市管辖图是一棵树,设这棵树的最大深度是 deep,暴力做法是对于每个骑士分别统计,则这样复杂度就是O(m∗deep)O(m*deep) O(m∗deep)1<=deep<=n1<=deep<=n1<=deep<=n肯定会T,我们考虑对每个城市维护一个骑士战斗力的小顶堆,不断弹出堆顶元素直到 堆顶战斗力>=防御值, 则堆中剩下的骑士又可以...

2020-04-09 12:31:10 144

原创 P1552 [APIO2012]派遣

分析:明显忍者上下级图是一棵树,考虑对于每个点 u ,找到它和它的子树中最多的点,这些点的数量为 num ,薪水和为 sum,则在 sum<=m 的情况下,最大化求:num∗L[u]num*L[u]num∗L[u]贪心来说对于每个点,把它和所有子节点按薪水从小到大排序选到不能选为止,这种方案肯定是可行的,但是时间复杂度太高了。我们考虑对于一个节点 u ,先把 u 和所有子节点的薪水累加和...

2020-04-08 22:24:16 110

原创 #2674. 「NOI2012」美食节

分析:这题 和 P2053 [SCOI2007]修车 想法一样,把每个厨师拆成 p 个点按要求连边求最大流最小费用,但是拆点后最大有80000多个点,边都存不下(而且很多边完全用不到),存下了直接求也肯定 T ,需要优化。我们知道每次增广只求出一条增广路,那么就可以每次根据求出的增广路去添加相关的边。代码:#include<bits/stdc++.h>#define ...

2020-04-07 20:45:35 196

原创 P2053 [SCOI2007]修车

分析:最小平均等待时间,即总最短等待时间,设一个技术人员依次维修了 t1~tk k 辆车,则它对总等待时间的贡献是: t1∗k+t2∗(k−1)+...+tk∗1 t1*k+t2*(k-1)+...+tk*1t1∗k+t2∗(k−1)+...+tk∗1 那么把每个技术人员分成 n 个时间段,第 i 个时间段的贡献即: (n−i+1)∗ti(n-i+1)*ti(n−i+1)∗ti这样一共有 n*...

2020-04-06 20:24:55 127

原创 Gym - 100345H 【Settling the Universe Up】

文章目录题意:分析:代码:题意:初始给定一个有向图,有动态删增边和查询两点是否连通三类操作:①: + u v 添加一条 u->v 的有向边②: - u v 删除 u-v 这条边③: ? u v 查询 u 和 v 是否连通对于每次增删边,输出点对(u,v)的数量,满足 u<v 且 u 可以到达 v ,对于每次查询,若两点连通输出‘YES’,否则输...

2020-04-03 22:37:17 111

原创 【BZOJ2208】联通数

分析:求传递闭包,有向图,先缩点变成 DAG,然后bitset维护走过的点dp一下就可以了代码:

2020-04-03 15:50:17 162

空空如也

空空如也

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

TA关注的人

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