
★水题之路
文章平均质量分 61
墓华
这个作者很懒,什么都没留下…
展开
-
AtCoder Beginner Contest 173 F - Intervals on Tree(树的点导出子图连通块数量)
AtCoder Beginner Contest 173 F - Intervals on Tree题意:给出一棵 N(1≤N≤2×105)N(1 \le N \le 2\times10^5)N(1≤N≤2×105)个顶点(编号从111开始)的树,定义f(L,R)f(L,R)f(L,R):顶点集 V′={L,L+1,L+2,⋯ ,R}V'=\{L, L+1, L+2,\cdots,R\}V′={L,L+1,L+2,⋯,R}的导出子图(由 顶点集 V′V'V′ 和 两端点都在顶点集 V′V'V′中的边原创 2020-07-06 17:30:59 · 739 阅读 · 0 评论 -
AtCoder Beginner Contest 172 E - NEQ(二项式反演)
AtCoder Beginner Contest 172 E - NEQ题意:求满足下列条件的长度为 NNN且包含 [1,M][1, M][1,M]范围内整数的序列 A1,A2,⋯ ,ANA_1, A_2, \cdots, A_NA1,A2,⋯,AN及 B1,B2,⋯ ,BNB_1, B_2, \cdots, B_NB1,B2,⋯,BN组成的序列对数量。∀1≤i<j≤N, Ai≠Aj∧Bi≠Bj\forall 1 \le i \lt j \le N, \; A_i \neq A_原创 2020-06-30 16:34:34 · 643 阅读 · 0 评论 -
AtCoder Beginner Contest 172 F - Unfair Nim(Nim博弈,位运算)
AtCoder Beginner Contest 172 F - Unfair Nim题意有 N(2≤N≤300)N(2\le N \le300)N(2≤N≤300)堆石子,其中第 iii堆有 Ai(1≤Ai≤1012)A_i(1\le A_i\le 10^{12})Ai(1≤Ai≤1012)个石子,两人进行尼姆(Nim)游戏,问至少要将多少石子从第111堆移到第222堆(不可全部移走),才能使得先手必败。不存在可行解时输出−1-1−1。分析Nim博弈的必败局面要求:A1⊕A2⊕A3⊕⋯⊕A原创 2020-06-30 10:59:13 · 645 阅读 · 0 评论 -
POJ-1177 Picture(线段树+扫描线)
链接:POJ-1177 Picture题意给出平面直角坐标系上nnn(0≤n≤50000\le n\le 50000≤n≤5000)个矩形,求所有矩形合并后的所有线段长度之和。分析以计算 水平线段(平行于xxx轴)的长度之和 为例,竖直扫描线(平行于yyy轴)水平扫过 各矩形的 左、右边界;可以发现,每扫过单位水平长度,水平线段长度之和应当增加 当前竖直方向的线段数目∗2*2∗2;...原创 2020-02-12 13:06:55 · 386 阅读 · 0 评论 -
BZOJ - 2716 天使玩偶(CDQ分治)
链接:BZOJ - 2716 天使玩偶题意在二维坐标系上初始有nnn个点(x1,y1),(x2,y2),⋯ ,(xn,yn)(x_1,y_1),(x_2,y_2),\cdots,(x_n,y_n)(x1,y1),(x2,y2),⋯,(xn,yn),共mmm个操作,分为以下两种:1 x y1\;x\;y1xy:新增点(x,y)(x,y)(x,y)2 x y2\;x\;y...原创 2020-02-06 12:35:09 · 688 阅读 · 2 评论 -
Educational Codeforces Round 81 (Rated for Div. 2) E. Permutation Separation(前缀和,线段树)
链接:Educational Codeforces Round 81 (Rated for Div. 2) E. Permutation Separation题意给出一个111 ~ nnn(2≤n≤2⋅1052\le n\le 2\cdot 10^52≤n≤2⋅105)的排列p1,p2,⋯ ,pnp_1,p_2,\cdots,p_np1,p2,⋯,pn,选择kkk并将序列分为左右两个集合...原创 2020-01-31 11:03:43 · 413 阅读 · 0 评论 -
POJ - 3494 Largest Submatrix of All 1’s(单调栈求最大全1子矩阵)
链接:POJ - 3494 Largest Submatrix of All 1’s题意给出一个n×mn\times mn×m(1≤n,m≤20001\le n,m\le 20001≤n,m≤2000)的01矩阵,求最大的全为1的子矩阵,输出其面积(设矩阵单位长度为1)。分析对每一行进行考虑,均可以视为一个 柱状图,如上图,于是问题转化为为 求柱状图的最大矩形面积,这可以利用 单调栈...原创 2020-01-29 11:56:03 · 355 阅读 · 0 评论 -
[SCOI2010] 股票交易(单调队列优化DP)
链接:[SCOI2010] 股票交易题意最近lxhgww又迷上了投资股票,通过一段时间的观察和学习,他总结出了股票行情的一些规律。通过一段时间的观察,lxhgww预测到了未来TTT天内某只股票的走势,第iii天的股票买入价为每股APiAP_iAPi,第iii天的股票卖出价为每股BPiBP_iBPi(数据保证对于每个iii,都有APi≥BPiAP_i \ge BP_iAPi≥BPi),...原创 2020-01-28 19:53:56 · 781 阅读 · 0 评论 -
HDU - 4261 Estimation(线性DP + 堆优化动态求中位数)
链接:HDU - 4261 Estimation题意:给出长度为NNN(1≤N≤20001\le N\le 20001≤N≤2000)的序列A1,A2,⋯ ,ANA_1,A_2,\cdots,A_NA1,A2,⋯,AN,要求将其分为KKK(1≤K≤min{25,N}1\le K\le \min\{25,N\}1≤K≤min{25,N})段,并对每段确定一个值BjB_jBj(1≤j≤K...原创 2020-01-27 19:59:52 · 325 阅读 · 0 评论 -
牛客挑战赛36 C-纸飞机(最长非降子序列)
链接:牛客挑战赛36 C-纸飞机题意:给出长度为nnn(1≤n≤1061\le n\le 10^61≤n≤106)的序列a1,a2,⋯ana_1,a_2,\cdots a_na1,a2,⋯an(1≤ai≤2301\le a_i\le 2^{30}1≤ai≤230),求分别删除aia_iai后最长严格下降子序列的个数。分析:根据Dilworth定理,就是求分别删除aia_iai...原创 2020-01-18 11:40:57 · 347 阅读 · 0 评论 -
Codeforces Round #613 (Div. 2) E. Delete a Segment(构造,思维)
链接:Codeforces Round #613 (Div. 2) E. Delete a Segment题意:给出nnn(2≤n≤2⋅1052\le n \le 2\cdot10^52≤n≤2⋅105)条xxx坐标轴上的线段[li,ri][l_i,r_i][li,ri](−109≤li≤ri≤109-10^9\le l_i \le r_i \le 10^9−109≤li≤ri≤109...原创 2020-01-12 10:54:33 · 562 阅读 · 0 评论 -
牛客挑战赛34 - D 拉普兰德的愿望(曼哈顿距离转切比雪夫距离)
链接:牛客挑战赛34 - D 拉普兰德的愿望题意:给出平面上N(≤100,000)N(\le100,000)N(≤100,000)个点,坐标绝对值不超过L(≤50,000)L(\le50,000)L(≤50,000),求曼哈顿距离不小于d(≤10,000,000)d(\le10,000,000)d(≤10,000,000)的点对共有多少?对于点对 (x1,y1)(x_1,y_1)(x1,y...原创 2019-11-23 15:24:34 · 388 阅读 · 0 评论 -
HDU - 4507 吉哥系列故事——恨7不成妻(数位DP求平方和)
链接:HDU - 4507 吉哥系列故事——恨7不成妻题意:如果一个整数符合下面3个条件之一,那么我们就说这个整数和7有关 1、整数中某一位是7; 2、整数的每一位加起来的和是7的整数倍; 3、这个整数是7的整数倍;现在问题来了:吉哥想知道在一定区间内和7无关的数字的平方和。分析:设数位为:dlen−1dlen−2⋯d2d1d0d_{len-1}d_{len-2}\cdo...原创 2019-11-22 15:01:26 · 281 阅读 · 0 评论 -
Gym101630 - A Archery Tournament(线段树)
链接:Gym101630 - A Archery Tournament题意:共nnn个操作:操作1:放置一个圆形靶子,中心在(xi,yi)(x_i,y_i)(xi,yi),其中yi≥0y_i\ge 0yi≥0且靶子一定相切于xxx轴(即半径ri=yir_i=y_iri=yi),不同靶子之间不会有重叠(可能相切);操作2:投掷一个飞镖至(xj,yj)(x_j,y_j)(xj,yj...原创 2019-10-25 13:13:10 · 467 阅读 · 0 评论 -
HDOJ-1052 Tian Ji -- The Horse Racing(贪心算法)
题目:HDOJ-1052题目描述:就是田忌赛马,但是要注意两边存在马速度相同的情况。分析: (看了各路大佬的题解Orz,自我总结一下)先排序,这里从快到慢排序;1.田忌最快马&amp;amp;gt;王最快马(贪心,毫无疑问,进行比赛后获胜)2.田忌最快马&amp;amp;lt;王最快马(同样的,既然赢不了,用最慢马去消耗掉最快马)3.田忌最快马=王最快马(要比较两者最慢马,因为没考虑这个WA了很多次…)a.田忌最...原创 2018-11-01 16:26:06 · 370 阅读 · 0 评论 -
HDOJ-2047 阿牛的EOF牛肉串(递推)
题目:HDOJ-2047题目描述:长度为n的字符串,包含’E’ ‘O’ ‘F’三个字符(可以只有其中一种或两种字符),而且不能两个’ 0’ 相邻,求长度为n时可能的组合数。(0&amp;amp;lt;n&amp;amp;lt;40)思路:重点是逆向推导,利用已求到的f(n-1)、f(n-2)…得到f(n)。一开始想的太复杂了,一直分析到了n+3,如下:①f(n-2) n-1 : E/F n : E/F/O 得到 ...原创 2018-11-09 12:08:18 · 348 阅读 · 0 评论 -
HDOJ-1789 Doing Homework again(贪心算法)
题目:HDOJ-1789题目描述:Ignatius的老师布置了一些作业,每项作业都有deadline和未完成扣的分数,一天只能选择做完一项作业,求Ignatius 被扣的最少的分。思路:根据贪心策略,先按扣的分从大到小排序,优先完成分数最大的,对每一项作业最好能在deadline当天完成(得以空出更 多的天数),若当天已被占用,则提前一天,以此类推。ps.这里采用了一个bool数组...原创 2018-11-04 14:05:35 · 295 阅读 · 0 评论 -
HDOJ-1528 Card Game Cheater (贪心,田忌赛马)
题目:HDOJ-1528题目描述:Adam和Eve玩一副扑克牌,两边分到相同数量的牌,摆好以后对应位置的牌比大小,每个对应位置,谁的牌大谁得一分。Adam牌已经摆好位置,Eve已经知道Adam所有位置的牌是什么,求Eve能得到的最多分数。牌的大小2&lt;3&lt;4&lt;…&lt;9&lt;T&lt;J&lt;Q&lt;K&lt;A,当牌大小相同时,原创 2018-11-04 14:32:10 · 265 阅读 · 0 评论 -
HDOJ-1050 Moving Tables (贪心算法)
题目:HDOJ-1050题目描述:南北各200个房间,编号1~400,从一个房间搬桌子到另一个房间都要10分钟,路径有重合部分(包括端点)的不能同时搬,求最少需要多少时间把要搬的桌子搬完。思路:一开始就想着排序,区间不相交,依次模拟着来算时间,但是这样很麻烦。看了下别人的题解,完美地把问题化简了,一步到位。因为如果有某个区间被n个搬桌子的任务覆盖了,那么无论如何都必须要n次才能搬完,...原创 2018-11-04 15:16:20 · 415 阅读 · 0 评论 -
UVA-11988 Broken Keyboard (模拟,字符串,单向链表(指针实现、数组实现))
Ps.很好的一道对链表的练习题,第一次练习使用链表,也是发现了自己对链表实现很多不清晰的理解(一片WA声) b( ̄▽ ̄)d题目:UVA-11988题目描述:每个样例是一行无空格的字符串,模拟在电脑上打字,’[’ 代表光标移至开头,之后的字符串整体打印在开头,‘]’ 代表光标移至末尾,之后的字符正常在末尾打印。要求输出打印出来的字符样例输入:This_is_a_[Beiju]_text ...原创 2018-11-04 19:51:25 · 379 阅读 · 0 评论 -
HDOJ-1297 Children’s Queue(递推,大数相加)
题目:HDOJ-1297题目描述:n个人排队,女生必须和女生相邻(可以2个以上,也可以1个都没有),问有多少中排队方法。(1<=n<=1000)例如当n=4,有7种情况,分别为 :(F为女生,M为男生)FFFF, FFFM, MFFF, FFMM, MFFM, MMFF, MMMM思路:(逆推思路)对n位置情况进行讨论:1.当n位置为M,对前n-1无影响,所以直接就等于 f...原创 2018-11-10 17:10:22 · 515 阅读 · 0 评论 -
HDOJ-2046 骨牌铺方格(递推)
题目:HDOJ-2046题目描述:在2×n的一个长方形方格中,用一个1× 2的骨牌铺满方格,输入n ,输出铺放方案的总数.例如n=3时,为2× 3方格,骨牌的铺放方案有三种,如下图:思路:(递推)对n位置情况进行讨论①n位置1个骨牌竖着放,对前n-1无影响,所以等于f(n-1)②n位置2个骨牌横着放,n-1位置被占用,但对前n-2无影响,所以等于f(n-2)综上,f(n)=f(n-...原创 2018-11-10 17:25:48 · 371 阅读 · 0 评论 -
HDOJ-2045 不容易系列之(3)—— LELE的RPG难题(递推)
题目:HDOJ-2045题目描述:有排成一行的n个方格,用红(Red)、粉(Pink)、绿(Green)三色涂每个格子,每格涂一色,要求任何相邻的方格不能同色,且首尾两格也不同色.求全部的满足要求的涂法.思路:(递推)这个和 高中数学 学排列组合时遇到的相邻涂色问题类似,思路都一样。第n个方格的颜色取决于第n-1个和第1个方格的颜色。①当第1个和第n-1个颜色不同,前n-1个合法,而n...原创 2018-11-10 17:41:40 · 286 阅读 · 0 评论 -
UVA-12657 Boxes in a Line (模拟,双向链表(数组实现))
第一次对数组实现双向链表的练习,理解了发现数组实现真方便…题目:UVA-12657题目描述:你有n个盒子在桌子上的一条线上从左到右编号为1……n。你的任务是模拟四种操作1 X Y 移动盒子编号X到盒子编号Y的左边(如果X已经在Y的左边了就忽略)2 X Y 移动盒子编号X到盒子编号Y的右边(如果X已经在Y的右边了就忽略)3 X Y 交换盒子编号X与盒子编号Y的位置4 将整条线反转操作...原创 2018-11-05 17:26:45 · 446 阅读 · 0 评论 -
HDOJ-2709 Sumsets(递推)
题目:HDOJ-2709题目描述:给出一个正整数N,求出N能由多少种2的幂次方(1,2,4,8…)之和的组合得到。(1 &lt;= N &lt;= 1,000,000)(由于数据过大,所有答案只取后9位。)例如当N等于7,有6种方案1)1+1+1+1+1+1+12) 1+1+1+1+1+23) 1+1+1+2+24) 1+1+1+45) 1+2+2+26) 1+2+4思路:...原创 2018-11-11 14:50:16 · 283 阅读 · 0 评论 -
HDOJ-1465 不容易系列之一(递推,错排公式)
题目:HDOJ-1465题目描述:正整数n表示n个信封,分别对应了n封信,所有信都装错了信封,求有多少种错装的情况。(1&lt;n&lt;=20)思路:考虑两种情况①当前n-1封错排,令其中一封于第n封调换,达到全错,该情况为(n-1)*f(n-1)②当前n-2封错排...原创 2018-11-11 17:07:30 · 268 阅读 · 0 评论 -
HDOJ-2084 数塔(简单DP)
题目:HDOJ-2084题意:有如下所示的数塔,要求从顶层走到底层,若每一步只能走到相邻的结点,则经过的结点的数字之和最大是多少?每个测试实例的第一行是一个整数N(1 &amp;lt;= N &amp;lt;= 100),表示数塔的高度,接下来用N行数字表示数塔,其中第i行有个i个整数。思路:用到递推的思想。对于上图的2,19和7中选较大的19,加到2中;对于18,7和10中选较大的10,加到18...原创 2018-11-15 14:51:45 · 453 阅读 · 0 评论 -
洛谷 P1603 斯诺登的密码(模拟,字符串)
题目:P1603题意:(1)找出句子中所有用英文表示的数字(≤20),列举在下:正规:one two three four five six seven eight nine ten eleven twelve thirteen fourteen fifteen sixteen seventeen eighteen nineteen twenty非正规:a both another fir...原创 2018-11-15 17:02:24 · 519 阅读 · 0 评论 -
UVA-10976 Fractions Again?!(分数拆分)(枚举)
题目:UVA-10976题目描述:输入正整数k,找到所有的正整数x≥y,使得 1/k = 1/x + 1/y样例输入: 样例输出:2 212 1/2 = 1/6 + 1/3 1/2 = 1/4 + 1/4 8 1/12 = 1/156 + 1/13 ...原创 2018-11-14 08:41:41 · 333 阅读 · 0 评论 -
UVA-548 Tree(二叉树,DFS)
只是对着刘汝佳书依葫芦画瓢,主要记录一下自己的理解、心得。题目:UVA-548题目描述:一棵二叉树,每个结点都有不同的权值(1~10000的正整数),给出了其中序遍历(第一行)和后序遍历(第二行),找到一个叶子,使得它到根的路径的权和最小,如果有多解,该叶子的本身的权值应尽量小。首先是对DFS的理解。先序遍历(根-&amp;gt;左子树-&amp;gt;右子树):ABDECF中序遍历(左子树-&amp;gt;...原创 2018-11-12 10:57:17 · 384 阅读 · 0 评论 -
UVA-725 Division (简单暴力枚举)
刘汝佳书上例举的典型暴力枚举题~暴力枚举题要经过分析来尽量减少不必要的枚举。题目:UVA-725题目描述:输入正整数N,从小到大输出所有形如abcde/fghij=N的表达式,其中a-j恰好为数字0-9的一个排列(可以有前导0)(2=&lt;n&lt;=79)如果没有符合表达式,输出"There are no solutions for N."思路:①通过从小到大枚举abcde,得到...原创 2018-11-12 20:13:37 · 650 阅读 · 0 评论 -
PAT Basic1003 我要通过!
链接:PAT Basic1003“答案正确”是自动判题系统给出的最令人欢喜的回复。本题属于 PAT 的“答案正确”大派送 —— 只要读入的字符串满足下列条件,系统就输出“答案正确”,否则输出“答案错误”。得到“答案正确”的条件是:1.字符串中必须仅有 P、 A、 T这三种字符,不可以包含其它字符;2.任意形如 xPATx 的字符串都可以获得“答案正确”,其中 x 或者是空字符串,或...原创 2018-11-23 18:45:43 · 239 阅读 · 0 评论 -
PAT Basic1009 说反话
链接:PAT Basic1009给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。输入格式:测试输入包含一个测试用例,在一行内给出总长度不超过 80 的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用 1 个空格分开,输入保证句子末尾没有多余的空格。输出格式:每个测试用例的输出占一行,输出倒序后的句子。输入样例:...原创 2018-11-23 19:12:12 · 256 阅读 · 0 评论 -
PAT Basic1005 继续(3n+1)猜想
连接:PAT Basic10051001:卡拉兹(Callatz)猜想——对任何一个正整数 n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把 (3n+1) 砍掉一半。这样一直反复砍下去,最后一定在某一步得到 n=1。卡拉兹(Callatz)猜想已经在1001中给出了描述。在这个题目里,情况稍微有些复杂。 当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的...原创 2018-11-22 15:26:50 · 249 阅读 · 0 评论 -
PAT Basic1008 数组元素循环右移问题
链接:PAT Basic1008一个数组A中存有N(>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(≥0)个位置,即将A中的数据由(A0 A1 ⋯ AN−1 )变换为(AN−M ⋯ AN−1 A0 A1 ⋯ AN−M−1 )(最后M个数循环移至最前面的M个位置)。如果需要考虑程序移动数据的次数尽量少,要如何设计移动的方法?...原创 2018-11-22 19:23:11 · 202 阅读 · 0 评论 -
PAT Basic1014 福尔摩斯的约会
链接:PAT Basic1014大侦探福尔摩斯接到一张奇怪的字条:我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&amp;amp;hgsfdk d&amp;amp;Hyscvnm。大侦探很快就明白了,字条上奇怪的乱码实际上就是约会的时间星期四 14:04,因为前面两字符串中第 1 对相同的大写英文字母(大小写有区分)是第 4 个字母 D,代表星期四;第 2 对相同...原创 2018-11-24 16:32:22 · 156 阅读 · 0 评论 -
PAT Basic1015 德才论
链接:PAT Basic1015宋代史学家司马光在《资治通鉴》中有一段著名的“德才论”:“是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人。凡取人之术,苟不得圣人,君子而与之,与其得小人,不若得愚人。”现给出一批考生的德才分数,请根据司马光的理论给出录取排名。输入格式:输入第一行给出 3 个正整数,分别为:N(≤105 ),即考生总数;L(≥60),为录取最...原创 2018-11-24 17:37:01 · 413 阅读 · 0 评论 -
PAT Basic1040 有几个PAT
字符串 APPAPT 中包含了两个单词 PAT,其中第一个 PAT 是第 2 位(P),第 4 位(A),第 6 位(T);第二个 PAT 是第 3 位(P),第 4 位(A),第 6 位(T)。现给定字符串,问一共可以形成多少个 PAT?输入格式:输入只有一行,包含一个字符串,长度不超过105,只包含 P、A、T 三种字母。输出格式:在一行中输出给定字符串中包含多少个 P...原创 2018-11-29 08:46:06 · 177 阅读 · 0 评论 -
PAT Basic1017 A除以B
链接:PAT Basic1017本题要求计算 A/B,其中 A 是不超过 1000 位的正整数,B 是 1 位正整数。你需要输出商数 Q 和余数 R,使得 A=B×Q+R成立。输入格式:输入在一行中依次给出 A 和 B,中间以 1 空格分隔。输出格式:在一行中依次输出 Q 和 R,中间以 1 空格分隔。输入样例:123456789050987654321 7输出样例...原创 2018-11-25 13:53:21 · 154 阅读 · 0 评论 -
PAT Basic1022 D进制的A+B
链接:PAT Basic1022输入两个非负 10 进制整数 A 和 B (≤230-1),输出 A+B 的 D (1&amp;amp;lt;D≤10)进制数。输入格式:输入在一行中依次给出 3 个整数 A、B 和 D。输出格式:输出 A+B 的 D 进制数。输入样例:123 456 8输出样例:1103就是模拟10进制转其他进制的转换方法不断用sum=sum/D,并且取...原创 2018-11-25 15:49:42 · 171 阅读 · 0 评论