摘要: HDU - 1166 敌兵布阵 一个区间,两种操作:区间求和,单点修改。 HDU - 1754 I Hate It 单点修改,区间求最大值。 阅读全文
posted @ 2018-08-08 19:16 jvruodejrLS 阅读(107) 评论(0) 推荐(0) 编辑
摘要: 区间DP主要思想是先在小区间取得最优解,然后小区间合并时更新大区间的最优解。 基本代码: //mst(dp,0) 初始化DP数组 for(int i=1;i<=n;i++) { dp[i][i]=初始值 } for(int len=2;len<=n;len++) //区间长度 for(int i=1 阅读全文
posted @ 2018-08-07 16:06 jvruodejrLS 阅读(561) 评论(0) 推荐(0) 编辑
摘要: nlogn写法。 维护一个 x 序列,存放着一个不下降子序列。(这个子序列并不是答案) 枚举到下一个数字 a[i] 时,若a[i] >= x序列中末尾的数字,则把它加到 x 序列最后面。 否则,找到 x 序列中,第一个大于 a[i] 的值,用 a[i] 更新它,目的是为了使后来的可能的 x 序列更长 阅读全文
posted @ 2018-08-06 20:43 jvruodejrLS 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 题意: 现有一笔经费可以报销一定额度的发票。允许报销的发票类型包括买图书(A类)、文具(B类)、差旅(C类),要求每张发票的总额不得超过1000元,每张发票上,单项物品的价值不得超过600元。现请你编写程序,在给出的一堆发票中找出可以报销的、不超过给定额度的最大报销额。 这个题本来没啥好写的。处理一 阅读全文
posted @ 2018-08-06 18:49 jvruodejrLS 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 题意: n个数,求出这些数中满足 ai >= aj 的 ai % aj 的最大值。 排序去重,然后对于每一个a[i], 如果找到a[i] 的一个倍数 k*a[i] (k > 1)的位置,那么它之前的第一个数字就是一个使a[j] % a[i] 最大的可能的解。 这样,枚举a[i] 所有的倍数,求最大的 阅读全文
posted @ 2018-08-05 20:47 jvruodejrLS 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 题意: 多组测试数据。 每组数据有一个方程 a*x1^2 + b*x2^2 + c*x3^2 + d*x4^2 = 0,方程中四个未知数 x1, x2, x3, x4 ∈ [-100, 100], 且都不为0。 给定a, b, c, d ∈ [-50, 50] ,且都不为0, 求上述条件下方程解的个 阅读全文
posted @ 2018-08-05 18:56 jvruodejrLS 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 题意: n 只哥布林,每只哥布林都有一个位置坐标。 m 个炮台,每个炮台都有一个位置坐标和一个攻击半径。 如果一个哥布林在任何一个炮台的攻击范围内,都会被杀死。 求最后没有被杀死的哥布林的数量。 这题暴力加一些小小的优化可以爆过去。。。然后场上并不敢试。 标算是扫描线。炮台攻击范围内的每个横坐标都拉 阅读全文
posted @ 2018-07-28 12:15 jvruodejrLS 阅读(257) 评论(0) 推荐(0) 编辑
摘要: 题意: n个点,m条边,m <= n <= 100000,边的长度都为1。 点从 0 ~ n-1 编号。开始时图是不连通的,并且没有环。 通过加入一些边后,可以使图连通。要求加入的边不能多余(即生成的图是一棵树)。 问连通后的图,任意两点之间的距离的最大值,最小可以是多少? 既然刚开始图不连通也无环 阅读全文
posted @ 2018-07-27 21:57 jvruodejrLS 阅读(262) 评论(0) 推荐(0) 编辑
摘要: 题意: n天。 每天你会堆一堆雪,体积为 v[i]。每天都有一个温度 t[i] 所有之前堆过的雪在第 i 天体积都会减少 t[i] 。 输出每天融化了的雪的体积。 这个题的正解我怎么想都很难理解,但是慢慢理解了。 计算一个 t[i] 的前缀和 sum。 那么到第 j 天时,设第 i 堆雪融化的体积是 阅读全文
posted @ 2018-07-26 20:07 jvruodejrLS 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 题意: t组测试数据,每组数据有 n 个只由 '(' 和 ')' 构成的括号串。 要求把这 n 个串排序然后组成一个大的括号串,使得能够匹配的括号数最多。 如()()答案能够匹配的括号数是 4,(()) 也是 4。 例如: n = 2 ) )(( 你可以将其排序为))((,数目为0,也可以将其排序为 阅读全文
posted @ 2018-07-26 12:57 jvruodejrLS 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 题意: t组数据,每组数据给定n,m, 表示有m个约束,每个约束包含 x,y ,代表区间 [x, y] 里的数字不能相同。 让你用所有的正整数构成一个长度为 n 的区间,使得这个区间元素顺序的字典序最小。 这个题场上的思路是把所有的约束区间排序,然后再用优先队列维护当前可用的最小值。 后来看了dls 阅读全文
posted @ 2018-07-24 19:27 jvruodejrLS 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 题意: n个点,m条边。 若A 到 B的边存在,则证明 A 的排名一定在 B 前。 最后求所有点中,排名可以确定的点的个数。 n <= 100, m <= 4500 刚开始还在想是不是拓扑排序。 n这么小的数据范围,典型的传递闭包。直接可以用Floyd求。 求出传递闭包之后找哪些点与其他所有点都有直 阅读全文
posted @ 2018-07-24 14:56 jvruodejrLS 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 题意: 给n和k,让你用不小于 k 个不同的数字构成一个长度为n的序列,使得序列中不同的区间和的数目最小。 n,k<=500 k-1个数填一些数字的一正一负,这样有些区间和为0。 剩下的都填0。 阅读全文
posted @ 2018-07-24 14:26 jvruodejrLS 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 题意:给你两个单词序列,求出他们的最长公共子序列。 多组数据输入,单词序列长度<=100,单词长度<=30 因为所有组成LCS的单词都是通过 a[i] == b[j] 更新的。 打印序列的时候用mark标记一下,然后回溯找就可以了。 阅读全文
posted @ 2018-07-23 10:23 jvruodejrLS 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 给一个n行m列的数据库表格,问有没有两个行 r1,r2 和 c1,c2,满足(r1,r2)的元素=(c1,c2)的元素。 n≤10000,m≤10。 直接枚举4个肯定会T的。可以只枚举c1 c2,然后枚举每一行,将c1 c2加入map里,下面再次枚举到就证明有。 pair是个很好用的东西。 阅读全文
posted @ 2018-05-10 23:32 jvruodejrLS 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 给你一堆文件名,排序后按列优先的方式左对齐输出。 假设最长文件名长度是M,那么每一列都要有M+2字符,最后一列有M字符。 inmanip真NB。。orz 阅读全文
posted @ 2018-05-10 16:23 jvruodejrLS 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 看上去十分麻烦的一道题,但是看了看别人的写法感觉大神们写的无比简单。 就是记一个每列单词的最大长度,然后剩下的事交给NB的iomanip头文件就好。 stringsteam是一个神奇的东西。 阅读全文
posted @ 2018-05-09 16:29 jvruodejrLS 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 【题意】 有一个专门为了集合运算而设计的“集合栈”计算机。该机器有一个初始为空的栈,并且支持以下操作:PUSH:空集“{}”入栈DUP:把当前栈顶元素复制一份后再入栈UNION:出栈两个集合,然后把两者的并集入栈,并输出并集的sizeINTERSECT:出栈两个集合,然后把二者的交集入栈,并输出交集 阅读全文
posted @ 2018-05-01 22:58 jvruodejrLS 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 偶遇知乎dalao讲解exgcd 感觉解释的很好懂,故转载。原帖链接:https://www.zhihu.com/question/30067108/answer/153440477对于正整数(纠正,不是非负整数) a,b,gcd(a,b)表示 a,b 的最大公约数,必然存在整数对 x,y ,使得 阅读全文
posted @ 2018-04-18 15:12 jvruodejrLS 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 【题目描述】 两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面。它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面为止。可是它们出发之前忘记了一件很重要的事情,既没有问清楚对方的特征,也没有约定见面的具体位置。不过青蛙们都是很乐观的,它们觉得只要一直朝着某个方向跳下 阅读全文
posted @ 2018-04-18 14:56 jvruodejrLS 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 【题意】 给一个N×M的矩阵, K个地雷的坐标。求不含地雷的所有矩形的总数。 T组数据。 N M都是1e4,地雷数 K ≤ 20 【分析】 daola :这个题容斥搞一搞。 我 : ??? 合法矩形数肯定是很难算的。但是不合法的矩形数却很好算。所以就是用所有的矩形数减去不合法的矩形数就是答案。 K是 阅读全文
posted @ 2018-04-08 20:01 jvruodejrLS 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 去石油大天梯赛。比较近。 开场半个小时,系统出了问题,导致我们那个赛场大部分人没法读题。耽误了半个小时。调整好心态,按照之前分配的任务,我开始刷题。 首先,L1的100分里面第一个20分的题有些难写。于是我直接跳过,刷够80+第二阶段的25*3。然后把30分的题能骗到的分数拿到手。考虑到最后的L1的 阅读全文
posted @ 2018-04-08 00:20 jvruodejrLS 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 【题目大意】 一个n高的塔,由@ * ?三种字符组成。每行相邻两个字符不能相邻。 '?' 表示未确定是 '@' 还是 '*' 。 求'@' 可能出现的最多和最少次数。 【分析】 在可以填的情况下 先填'@' 就是最多,先填 ' * '就是最少。 【代码】 阅读全文
posted @ 2018-04-04 13:58 jvruodejrLS 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 【题目大意】 给你一个n*m的矩阵,然后给你一系列操作,最后让你输出操作后的矩阵。 操作包括: 1:沿主对角线反转 2:沿副对角线反转 H:上下翻转 V:水平翻转 A B C:顺时针90° 180° 270° X Y Z:逆时针。 操作数量k<=100 000,n<=300。 【分析】 直接暴力是O 阅读全文
posted @ 2018-04-03 00:16 jvruodejrLS 阅读(139) 评论(0) 推荐(0) 编辑
摘要: n位整数,求删除k位,可以得到的最大值。 n和k都是10^5。 首先可以想到的是从前面开始,如果看到一位比后面的小,那么就要删除。 这样看貌似是O(n)的。 但是有反例:42635 删除2位 那么需要删的是4 和 2 答案是635 所以又想到删k次,每次都从第一位开始找。这样是O(nk)的,显然T了 阅读全文
posted @ 2017-12-21 17:15 jvruodejrLS 阅读(145) 评论(0) 推荐(0) 编辑
摘要: n个件物品,有容量为m的背包,每包最多装两件物品,问最少用几个背包? 一种做法是枚举一个,二分另一个。 另一种做法如下。匹配一个最大的,用最小的就可以,这样肯定是最优的。 #include <iostream> #include <cstdio> #include <cstdlib> #includ 阅读全文
posted @ 2017-12-19 19:35 jvruodejrLS 阅读(117) 评论(0) 推荐(0) 编辑
摘要: UVA-208 天道好轮回。UVA饶过谁。 就是一个图的DFS。 不过这个图的边太多,要事先判一下起点和终点是否联通(我喜欢用并查集),否则会TLE。 #include <iostream> #include <cstdio> #include <vector> #include <cstring> 阅读全文
posted @ 2017-12-14 18:13 jvruodejrLS 阅读(121) 评论(0) 推荐(0) 编辑

Contact with me