上一页 1 2 3 4 5 6 7 ··· 17 下一页

2018年8月28日

UVALive-8138 Number Generator 概率dp+优化

摘要: 题目链接: 题意 有一个随机数生成器,输出1~n的整数。 现在已经输出了k个数,问再取几个数才能使取出的所有数的个数至少为2。 注意T include const int maxn=3e3+20; const int INF=0x3f3f3f3f; double data[maxn][maxn]; 阅读全文

posted @ 2018-08-28 23:19 糖栗子 阅读(195) 评论(0) 推荐(0) 编辑

2018年8月25日

UVALive-8078 Bracket Sequence 简单dp

摘要: 题目链接: 题意 括号序列T是这样定义的: 1. T是个空的 2. T是(T), {T}, 或者 [T] 3. T是两个T组成的,比如()()就是一个T 现在给一个n个字符长的串,问以每个字符为左端点的最长括号序列是多长。 思路 显然对i这个地方可以讨论一下: 如果i是个右括号,答案是0。 如果i是 阅读全文

posted @ 2018-08-25 09:36 糖栗子 阅读(266) 评论(0) 推荐(0) 编辑

UVALive-8077 Brick Walls 找规律

摘要: 题目链接: 题意 有一个用砖头磊起来的墙,现在又有一只蚂蚁,想沿着砖缝从起点跑到终点。 问最短路长度。 思路 找规律题,感觉这种题目应该是这样: 1. 一开始大量找规律 2. 对于很多种情况建议用转化的方式抽象出来一种情景 3. 如果抽象不出来(情景变得复杂),赶紧就不要抽象了 4. 如果可行最好打 阅读全文

posted @ 2018-08-25 09:26 糖栗子 阅读(205) 评论(0) 推荐(0) 编辑

UVALive-8079 Making a Team 排列组合公式化简

摘要: 题目链接: 题意 n个人组队,队伍人数小于等于n,每个队伍需要4个不同的职务的领导。 问这n个人可以组成多少队? n include const int maxn=1e7+20; const int mod=1e8+7; int pow2[maxn]; void init(void){ pow2[0 阅读全文

posted @ 2018-08-25 08:55 糖栗子 阅读(431) 评论(0) 推荐(0) 编辑

2018年8月23日

UVALive-8072 Keeping On Track 树形dp 联通块之间缺失边的个数

摘要: 题目链接: 题意 给出n+1个点和n条边,每对点之间只能存在一条边。 现在要找出一个节点,使得去掉这个点后,所剩每对不联通点的点对数最大。 还要在去掉这个点后加上一条边,使得加上这个边后,不联通点对数最小。 例: 6 0 1 1 2 2 3 2 4 4 5 4 6 答:11 5 思路 看不懂题意,更 阅读全文

posted @ 2018-08-23 22:01 糖栗子 阅读(304) 评论(0) 推荐(0) 编辑

2018年8月21日

HDU-5534 Partial Tree 完全背包 设定初始选择

摘要: 题目链接: 题意 放学路上看到n个节点,突然想把这几个节点连成一颗树。 树上每个节点有一个清凉度,清凉度是一个关于节点度的函数。 问能够组成树的最大清凉度是多少。 思路 看到题目瞬间考虑一共有n 1条边,各节点的度之和是2n 2。 那么猜测每个节点上分配度数是一个完全背包。 画了两个例子结果是没问题 阅读全文

posted @ 2018-08-21 20:45 糖栗子 阅读(271) 评论(0) 推荐(0) 编辑

HDU-2844 Coins 多重背包 物品数量二进制优化

摘要: 题目链接: 题意 给你一些不同价值和一定数量n的硬币。 求用这些硬币可以组合成价值在[1 , m]之间的有多少。 思路 多重背包问题,看了一眼数据范围,用二进制优化一下物品数量即可。 提交过程 ||| : |: AC| 代码 cpp include include include using nam 阅读全文

posted @ 2018-08-21 20:36 糖栗子 阅读(135) 评论(0) 推荐(0) 编辑

CodeForces-366C Dima and Salad 对01背包的理解 多个背包问题

摘要: 题目链接: 题意 给出n个水果和一个常数k,其中每个水果都有两种性质ai, bi(美味度,卡路里量)。 要保证$ \frac{ \sum a_i }{ \sum b_i }=k $的前提下,求出最大的ai和。 思路 不知道是什么背包类型,这类背包是这样的:多个基础的01背包(或其他) 1. 对单个背 阅读全文

posted @ 2018-08-21 20:32 糖栗子 阅读(659) 评论(0) 推荐(0) 编辑

HDU-2955 Robberies 浮点数01背包 自变量和因变量位置互换

摘要: 题目链接: 题意 突然想找几个银行抢钱。 给出各银行的钱数和被抓的概率,以及能容忍的最大被抓概率。 问他最多能抢到多少钱? 思路 很好的一道题,受益良多。 1. 代价是浮点数,不易存储计算。 考虑到背包函数dp[cost]=val是个单调的,理论上自变量和因变量没有区别,可以位置互换。 这样有函数: 阅读全文

posted @ 2018-08-21 19:58 糖栗子 阅读(403) 评论(0) 推荐(0) 编辑

UVALive-7197 Axles 动态规划 多个背包问题

摘要: 题目链接: 题意 需要生产n种(2 include include using namespace std; const int maxw=2e3+20, INF=0x3f3f3f3f; const int maxn=100+20; int n, q, r; int wei[maxn], val_1 阅读全文

posted @ 2018-08-21 19:48 糖栗子 阅读(1421) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 7 ··· 17 下一页

导航