
Thinking More
文章平均质量分 64
ramay7
Life is not short,but float.
展开
-
HDU 2955 Robberies(01背包/对象转移)
题目链接: HDU 2955 Robberies 题意: 有个robber要去抢银行。抢每个银行会获得金额val[i],同时也会有cost[i]的概率被抓住,问在最大允许被抓住概率为p的情况下可以抢到的最大金额。 分析: 01背包的套路。只不过背包容量换成了被抓住的概率,因为概率是double型的,那就没办法枚举了。 可以倒过来想枚举抢到金额的成功的概率。成功的概率是概率相乘。//46M原创 2016-03-30 14:37:02 · 449 阅读 · 0 评论 -
HDU 3208 Integer's Power(容斥原理、指数和、高精度求开根)
题目链接: HDU 3208 Integer’s Power 题意: 定义数字xx的powerpower为满足:tk=x,t,k∈N+t^k=x,t,k\in N^+的最大kk。 给出2≤a≤b≤10182\leq a \leq b\leq 10^{18},求 ∑i=ai≤bi∗power(i)\sum_{i=a}^{i\leq b}i*power(i) 分析: 我们用solve(n)原创 2016-07-15 20:45:32 · 1065 阅读 · 0 评论 -
UVALive 6087 Fuel Stops(思维、数环上任意前缀和非负的点个数)
题目链接: UVALive 6087 Fuel Stops 题意: 有n个城市,要做一次环游,每到一个城市可以增加一定的油量同时也会消耗一定的油量,要保证环游过程中到每个城市的油量非负,选择起点城市有多少个?保证有解。(n≤105n\leq 10^5) 分析: 可以把每个城市的增加油量和消耗油量先相减,那么其实就是求数环上任意前缀和都非负的点有多少个? 我们先从第一个城市开始,找到第一个原创 2016-07-02 09:15:04 · 697 阅读 · 0 评论 -
UESTC 1150 排名表(拓扑排序、很容易错)
题目链接: UESTC 1150 排名表 题意: 给出一个nn个人的已知的mm个排名顺序:a[i]a[i]在b[i]b[i]之前。输出这nn个人的排名顺序的名次,如果有多解让编号为1的人的名次尽量小,然后让编号为2的人的名次尽量小,然后让编号为3的人的名次尽量小……。如果无解输出−1-1。 数据范围:0≤n≤200,0≤m≤400000 \leq n \leq 200,0\leq m \le原创 2016-07-17 15:37:08 · 867 阅读 · 0 评论 -
HDU 3530 Subsequence(区间最值差>=m且<=k的最大长度、双单调队列)
题目链接: HDU 3530 Subsequence 题意: 给一个长度为nn的数组,求最大的区间长度,并且这个区间满足最大值与最小值之差diff∈[m,k]diff\in[m,k],即大于等于mm,小于等于kk. 数据范围:n≤105,m,k∈[0,106]n\leq 10^5,m,k\in [0,10^6] 分析: 因为是在做单调队列的题,所以往单调队列上想可能容易点。 首先我们考原创 2016-07-29 18:49:40 · 866 阅读 · 0 评论 -
SPOJ Con-Junctions(树形dp,方案计数)
题目链接: SPOJ Con-Junctions 题意: 给一个nn个节点和n−1n-1条边的树,要用灯点亮所有的边,每条边至少要有一个端点放盏灯就点亮了这条边,求最少的放灯数量和最少放灯数量时的方案数。方案数结果模1000710007输出。 数据范围:n≤100010n\leq 100010 分析: 最少放灯数量很好求。 用dp[u][0]dp[u][0]表示点亮uu子树的原创 2016-08-15 17:23:58 · 528 阅读 · 0 评论 -
Codeforce----Sorting Railway Cars(LIS/O(nlogn))
An infinitely long railway has a train consisting of n cars, numbered from 1 to n (the numbers of all the cars are distinct) and positioned in arbitrary order. David Blaine wants to sort the railway原创 2015-12-18 10:33:57 · 1150 阅读 · 0 评论 -
HDU 5534 Partial Tree(dp优化)
题目链接: HDU 5534 Partial Tree 题意: 有一棵树有nn个节点,对于度为dd的节点对树的价值贡献为f(d)f(d),给出f(1),f(2),⋯,f(n−1)f(1),f(2),\cdots ,f(n-1),(边是任意构造的)。求树的最大价值? 数据范围:n≤2015n\leq 2015 分析: 一个nn个节点的树会有n−1n-1条边,每条边可以贡献两个度,所原创 2016-08-17 00:41:41 · 487 阅读 · 0 评论 -
HDU 4126 Genghis Khan the Conqueror(树形dp,MST,破坏原有最小生成树边后的最小生成树代价)
题目链接: HDU 4126 Genghis Khan the Conqueror 题意: 给nn个点和mm条无向边,需要将这nn个点连通。但是有QQ次破坏,每次破坏会把mm条边中的某条边的权值增大,求QQ次破坏每次将nn个点连通的代价的期望?(每次破坏后的最小生成树的代价累加除以QQ) 数据范围:n≤3000,Q≤104,单边权≤107,总边权≤109n\leq 3000,Q\leq原创 2016-08-18 00:14:25 · 1018 阅读 · 0 评论 -
Codeforces 633 F The Chocolate Spree(树形dp,两条不相交链节点权值和最大)
题目链接: Codeforces 633 F The Chocolate Spree 题意: 给一个nn个节点的树和n−1n-1条边,每个点有一个权值,从树中选择两条不相交的链(无公共节点)使得两条链上节点权值和最大? 数据范围:n≤105,value[i]≤109n\leq 10 ^ 5,value[i] \leq 10 ^ 9 分析: 参考博客:逍遥丶綦 先dfs原创 2016-08-03 13:49:59 · 2339 阅读 · 0 评论 -
Codeforces 55D Beautiful Numbers(数位dp,能被自己各个位上数字整除的数字个数)
题目链接: Codeforces 55D Beautiful Numbers 题意: 定义:一个数如果能够被它所有位上非零数字整除那么这个数就是Beautiful Numbers。 给一个区间[L,R][L,R],求这个区间Beautiful Numbers的个数。 数据范围:1≤L≤R≤9∗10181\leq L\leq R\leq 9*10^{18} 分析: 这道题清新脱俗啊~原创 2016-08-29 18:48:03 · 1489 阅读 · 0 评论 -
2014 GCJ Round 1B New Lottery Game(数位dp,x小于等于A,y小于等于B,并且x&y值小于等于K的数字个数)
题目链接: 2014 GCJ Round 1B New Lottery Game 题意: 求x≤A,y≤Bx\leq A,y\leq B,并且xx&yy值小于等于KK的数字个数。 数据范围:A,B,K≤109A,B,K\leq 10^9 分析: 官方题解在这里:Here。通篇读下来很有意思,对于理解数位dp很有帮助。一般的数位dp我们在dfs的时候只记录一个limitlimit表示是否达原创 2016-08-31 00:41:20 · 612 阅读 · 0 评论 -
HDU 4507 吉哥系列故事——恨7不成妻(数位dp,较难)
题目链接HDU 4507 吉哥系列故事——恨7不成妻题意定义和7有关的数字是满足下列条件之一的数字:整数中某一位是7;整数的每一位加起来的和是7的整数倍;这个整数是7的整数倍;给一个区间[L,R][L,R],求区间内所有和7无关的数字的平方和。对1e9+7取模。 数据范围:1≤L≤R≤10181\leq L\leq R\leq 10^{18}分析这个题目比较难了。。。我觉得。 无论是求和原创 2016-09-02 17:13:27 · 551 阅读 · 0 评论 -
SGU 390 Tickets(数位dp,较难)
题目链接SGU 390 Tickets题意有一位售票员给乘客售票。对于每位乘客,他会卖出多张连续的票,直到已卖出的票的 编号的数位之和不小于给定的正数kk。然后他会按照相同的规则给下一位乘客售票。初始时, 售票员持有的票的编号是从 LL到 RR的连续整数。请你求出,售票员可以售票给多少位乘客。数据规模:1≤L≤R≤1018,1≤k≤10001 ≤ L ≤ R ≤ 10^{18},1 ≤ k ≤ 10原创 2016-09-02 23:30:31 · 863 阅读 · 0 评论 -
HDU 5749 Colmerauer(单调栈、思维、组合)
题目链接: HDU 5749 Colmerauer 题意: 给一个n∗mn*m的矩阵,定义长为aa宽为bb的矩阵的函数S(a,b)S(a,b)是矩阵中所有鞍点的权值和。一个矩阵的鞍点是所有满足在同一行中唯一最小,同一列中唯一最大的点。求: ∑i=1i=n∑j=1j=mi∗j∗S(i,j)(mod 232)\sum_{i=1}^{i=n}\sum_{j=1}^{j=m}i*j*S(i,j)\q原创 2016-07-26 21:17:46 · 573 阅读 · 0 评论 -
POJ 2888 Magic Bracelet(Polya计数+dp+矩阵快速幂+欧拉函数+乘法逆元)
题目链接: POJ 2888 Magic Bracelet 题意: 有一串nn个珠子的项链,用mm种颜色来染,有kk个限制条件:a[i]和b[i]a[i]和b[i]不能相邻。问本质不同的项链有多少种?(考虑旋转,答案对99739973取模,且gcd(n,9973)=1gcd(n,9973)=1)。数据范围:n≤109,1≤m≤10,0≤k≤m∗(m−1)2n \leq 10^9,1\leq原创 2016-07-10 19:49:03 · 912 阅读 · 0 评论 -
UVALive 6694 - Toy Boxes(思维+二分)
题目链接: UVALive 6694 - Toy Boxes 题意: 有nn个物品,需要分在三个箱子里,每个箱子的花费是(箱子中物品个数∗箱子中物品的总重量(箱子中物品个数*箱子中物品的总重量(箱子重量忽略不计),求总花费最少是多少?(n≤20000,每个物品的重量≤1000)(n \leq 20000,每个物品的重量\leq 1000) 分析: 先考虑将其分为两堆的情况。我们需要证明一个原创 2016-07-02 10:13:59 · 909 阅读 · 0 评论 -
HDU 3033 I love sneakers!(分组背包/至少选一个)
题目链接: HDU 3033 I love sneakers! 题意: 有n个物品分成k组,每个物品都有相应的价格和价值,每组物品都至少得买一件。有m元,如果能把k组每组至少买一件输出用m元能买到的最大价值;否自输出Impossible。 分析: 01背包的变形–分组背包,而且是每组至少买一个的分组背包而不是每组至多只能买一个。 用dp[i][k]表示在前i组每组至少选一样,耗费k能获得原创 2016-04-03 16:21:31 · 505 阅读 · 0 评论 -
CF 596 A Wilbur and Swimming Pool(判断能否唯一确定矩形/set)
题目链接: CF 596 A Wilbur and Swimming Pool 题意: 给n个点,问能不能唯一确定一个矩形,可以的话输出矩形面积,否则输出-1。#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <climits>#include <set>using原创 2016-04-10 22:59:33 · 441 阅读 · 0 评论 -
BestCoder #82 Div2 1001 ztr loves math(打表)
题目链接: BestCoder #82 Div2 1001 ztr loves math 题意: ztr喜欢研究数学,一天,他在思考直角三角形方程组的Lower版,即n=x2−y2n=x^{2}-y^{2},他想知道,对于给出的n,是否会有正整数解。 分析: 打表找规律。#include <iostream>#include <cstdio>#include <cstring>#in原创 2016-04-30 23:49:54 · 493 阅读 · 0 评论 -
OpenJudge C16D Extracurricular Sports(构造/大数)
题目链接: OpenJudge C16D Extracurricular Sports 题意: 构造n个互不相同的数使得这n个数的最小公倍数等于它们之和。2<= n <= 200.如果不存在这样的构造输出-1. 分析: 可以证明2个数的时候不存在这样的构造。当n = 3 时,可以构造出1,2,3。当n = 4时,可以构造出1,4,5,10. 当n>4时,假设前n - 2个数的和是t(最小原创 2016-05-16 19:13:06 · 643 阅读 · 0 评论 -
HDU 2478 Slides(n个矩形中n-1个矩形相交最大面积)
题目链接: HDU 2478 Slides 题意: 给出n个矩形的左下角和右上角坐标,求出n-1个矩形相交的最大面积。 分析: 先找到n个矩形左下角中的最右上角和次右上角的x,y坐标(Left_fir.x, Left_fir.y, Left_sec.x, Left_sec.y),右上角中的最左下角和次左下角的x,y坐标(Right_fir.x, Right_fir.y, Right_sec原创 2016-05-29 11:21:31 · 780 阅读 · 0 评论 -
POJ 1845 Sumdiv(逆元、分治)【真心好题啊=_=】
题目链接: POJ 1845 Sumdiv 题意: 给出A和B,求A^B的所有因子和对990取余后的值。0<= A, B <= 50000000. 分析: 特判A=1,A=0,B=0的情况,根据任何一个大于1的自然数若其不为素数则必可唯一的分解为有限个素数的乘积。 假设A = p1^a1 * p2^a2 * p3^a3 * ... * pn^an,其中(p1,p2,p3,...,pn均为原创 2016-05-26 00:56:16 · 535 阅读 · 0 评论 -
Codeforces #591 C Median Smoothing(思维)
题目链接: Codeforces #591 C Median Smoothing 题意: 给定一个01数字串,每次操作首尾数字不变,然后a[i]a[i] 取(a[i−1],a[i],a[i+1])(a[i-1],a[i],a[i+1])三个数从小到大排列的中位数。 当操作后数列中数字均不变时,数列达到稳定。问至少需要多少次才能达到稳定状态?如果不能达到稳定状态输出-1. 分析; 翻译原创 2016-04-24 16:46:09 · 580 阅读 · 0 评论 -
SGU 294 He's Circle(Polya原理+高精度)
题目链接: SGU 294 He’s Circle 题意: 用两种颜色涂n颗珠子的项链,问本质不同的方案数有多少?考虑旋转。 分析: 很容易根据PolyaPolya原理得到:Ans=1n∑d|nn2dϕ(nd)Ans=\frac{1}{n}\sum_{d|n}^{n}2^d\phi(\frac{n}{d}) 但是因为n≤200000n \leq 200000,并且答案不需要模数。那么难点原创 2016-06-10 17:23:04 · 1069 阅读 · 0 评论 -
HDU 1503 Advanced Fruits(还原最长公共子序列、记录路径)
题目链接: HDU 1503 Advanced Fruits 题意: 给出两个水果的名称字符串,字符个数不超过100100,要求输出一个合并的名称,两个水果的名字都是合并的名称的子序列,输出合并后的名称,多解时输出任意解。 分析: 主要是找出最长公共子序列所选的字母在第一个串中或第二个串中的位置。而且这些字母都是相同的,根据dp[]dp[]状态转移方程: s1[i]=s2[j]时:dp[原创 2016-07-23 11:41:30 · 858 阅读 · 0 评论 -
Codeforces #324 Div2 B.Kolya and Tanya(dp、思维)
题目链接: Codeforces #324 Div2 B.Kolya and Tanya 题意: 有一个圆上有3*n个点,标号从0–(3*n-1),每个位置a[i]可以选择放1,2,3任意一个,当满足存在i(0<=i<=n-1), 使得a[i]+[i+n]+a[i+2*n]!=6时构造合法。问给出一个n,合法的构造方案是多少? 分析: 把3*n个点的圆称为第n圆。显然第n圆要比第n-1圆原创 2016-04-30 00:22:37 · 356 阅读 · 0 评论 -
URAL 1994 The Emperor's plan(dp、期望)
题目链接: URAL 1994 The Emperor’s plan 题意: n个人中有k个叛徒,每个叛徒晚上会杀掉k个非叛徒,当前状态时晚上,为了清除叛徒,白天会随机挑出若干(0 <= t <= rest,res是剩余总人数)个人杀掉,直到剩下的人全部都是非叛徒或者叛徒,问最终剩下非叛徒的期望。1<= n <= 200, 1<= k <= 20. 分析: 用dp[m][k]表示处理在白天原创 2016-05-22 00:10:05 · 432 阅读 · 0 评论 -
ZOJ 3662 Math Magic(构造K个和为N且最小公倍数为M的正整数的方案数/dp)
题目链接: ZOJ 3662 Math Magic 题意: 求构造K个和为N且最小公倍数为M的正整数的方案数。 1<=N,M<=1000,1<=K<=100.结果mod(1e9+7)1<=N,M<=1000,1<=K<=100.结果mod(1e9+7). 如:N=2,M=2,K=2。有两种:(1,2)和(2,1)。如:N=2,M=2,K=2。有两种:(1,2)和(2,1)。 分析: 首原创 2016-04-15 21:45:35 · 514 阅读 · 0 评论 -
UVALive 6697 - Homework Evaluation(dp,字符串匹配得分)
题目链接: UVALive 6697 - Homework Evaluation 题意: 给出两个字符串,用第二个去匹配第一个字符串,第二个字符串中的字母可以看成:新插入的,有丢失的,正确匹配的,不正确的。正确的+8分错误的-5分插入或删除一个字母-3分连续插入或删除额外扣除-4分例如: Whatagreatisl/andtovisit gr//tisllam原创 2016-07-03 22:45:39 · 780 阅读 · 0 评论 -
Codeforces Round #261(Div 2) E Pashmak and Graph(图中严格递增的最长路径、思维)
题目链接Codeforces Round #261(Div 2) E Pashmak and Graph题意给一个nn个点和mm条带权值的有向边的图。保证无自环和重边。在图中找到最长的一条有向路径,使得路径中的边权是严格递增的,求路径的最大长度(路径中边的数量)。数据范围:2 ≤n ≤ 3⋅105;1 ≤ m ≤ min(n⋅(n − 1), 3⋅105)2 \leq n \leq 3·10^5;原创 2016-09-03 00:03:26 · 958 阅读 · 0 评论