VIJOS1240 朴素的网络游戏[DP]】的更多相关文章

描述 佳佳最近又迷上了某款类似于虚拟人生的网络游戏.在游戏中,佳佳是某旅行团的团长,他需要安排客户住进旅馆.旅馆给了佳佳的旅行团一个房间数的限制.每一个房间有不同的容纳人数和价钱(这个价格是房间的总价格,不是每个人付的).佳佳决定找到最小的花费,安排参加旅行的人住在这里.但是他遇到了这么一个问题:两个不同性别的人不能住在同一个房间里,除非他们是夫妻:一对夫妻如果在一起住,那么别的人就不能再住进去.你不必让所有的夫妻都单独住在一起.也就是说:1.给你一些房间,告诉你这些房间的容纳人数和价格2.安排…
题面传送门 鸽子 tzc 竟然来补题解了,奇迹奇迹( 神仙题 %%%%%%%%%%%% 解法 1: 首先一件很明显的事情是这个最小值可以通过类似 Kruskal 求最小生成树的方法求得.我们将所有边按边权从小到大排序并依次加入图中,如果加入边权为 \(v\) 的边后图首次连通,那么这张图对答案的贡献就是 \(v\). 那么怎么求这个期望值呢?我们考虑枚举加入多少条边后图首次连通,记这个数为 \(c\),那么这种情况对期望的贡献就是 \(\dfrac{c}{m+1}\),如果我们能再求出 \(p_…
Day 1 上午 讲的挺基础的--不过还是有些地方不太明白 例1 给定一个数n,求将n划分成若干个正整数的方案数. 例2 数字三角形 例7 最长不下降子序列 以上太过于基础,不做深入讨论 例3 给定一个数n,求将n划分成若干个正整数的方案数. 题解: 定义状态 \(dp[i][j]\)表示用不超过\(j\)的数来组成\(i\) 状态转移 \(i < j \;\;\; dp[i][j]=dp[i][i]\) \(i = j \;\;\; dp[i][j]=dp[i][j-1]+1\) \(i >…
Tickets Time Limit : 1000/500ms (Java/Other)   Memory Limit : 524288/262144K (Java/Other) Total Submission(s) : 79   Accepted Submission(s) : 16 Problem Description Conductor is quite a boring profession, as all you have to do is just to sell tickets…
写在前面 这个东西应该是一个非常重要的套路......所以我觉得必须写点什么记录一下,免得自己忘掉了 一直以来我的斜率dp都掌握的不算很好......也很少主动地在比赛里想到 写这个的契机是noi.ac在今天的考试中考了一道用这玩意儿的原题,被我搞出来了,于是决定总结一下(毕竟见得越来越多) 斜率dp 考虑一个常见的二次复杂度的dp: $dp[i]=min(dp[j]+c(i)+g(j)+k(i)*f(j))$ 其中$c,g,k,f$都是只和括号里的$i,j$有关的一元函数 一个很重要的思想是:…
题面: 传送门 思路: 加强版的石子归并,现在朴素的区间dp无法解决问题了 首先我们破环成链,复制一条一样的链并粘贴到原来的链后面,变成一个2n长度的序列,在它上面dp,效率O(8n^3) 显然是过不了的,需要优化 注意:dp的转移如下:dp[i][j]=min(dp[i][k]+dp[k+1][j]+sum(i,j)),其中sum(i,j)表示i到j的价值和,满足区间单调性 因此dp[i][j]也满足区间单调性,可以用四边形不等式优化 我们令s[i][j]等于让dp[i][j]取最小值的那个K…
题意:一棵N个点的树上有若干个关键点,每条边有一个边权,现在要将这些关键点到1的路径全部切断,切断一条边的代价就是边权. 共有M组询问,每组询问有k[i]个关键点,对于每组询问求出完成任务的最小代价. 对于100%的数据,2<=n<=250000,m>=1,sigma(ki)<=500000,1<=ki<=n-1 思路:第一题虚树,需要详细地记录一下. 对于此题,朴素的树形DP很好理解: dp[u]为将u子树中的关键点全部切断的最小代价 dp[u]=min(cut[u]…
题目描述 Bessie likes downloading games to play on her cell phone, even though she doesfind the small touch screen rather cumbersome to use with her large hooves. She is particularly intrigued by the current game she is playing.The game starts with a seq…
题目传送门 做完A Game以后找道区间dp练练手...结果这题没写出来(哭). 和A Game一样的性质,从两边取,但是竟然还有天数,鉴于之前做dp经常在状态中少保存一些东西,所以这次精心设计了状态(不对的). 开始的naive想法:设f[i][j][0/1]为把第1~i / i~n的零食兜售完所得的最多钱,然后我们就会发现这个状态十分难转移. 水题还看了题解. 十分朴素的区间dp,和我在能量项链总结的如出一辙. 本题突破口:可以直接通过区间来得出当前是第几天!! Code #include<…
写在前面连个引言都不加就直接开1. 区间DP状态常见模板: f[i][j]常常表示第i个到第j个这个区间内达到题目要求,所需要的最小值(最大值) 如: 1. [石子合并](https://www.luogu.com.cn/problem/P1880) 这里的f[i][j]表示将i-j堆石头合并所需要的最小/大体力 1. [关路灯](https://www.luogu.com.cn/problem/P1220) 这里的f[i][j][0/1]表示将i-j的区间的灯完全关闭,老人站在左/右端点时剩下…