ZOJ 3469 Food Delivery】的更多相关文章

Time Limit: 2 Seconds      Memory Limit: 65536 KB When we are focusing on solving problems, we usually prefer to stay in front of computers rather than go out for lunch. At this time, we may call for food delivery. Suppose there are N people living i…
When we are focusing on solving problems, we usually prefer to stay in front of computers rather than go out for lunch. At this time, we may call for food delivery. Suppose there are N people living in a straight street that is just lies on an X-coor…
这道题我不会,看了网上的题解才会的,涨了姿势,现阶段还是感觉区间DP比较难,主要是太弱...QAQ 思路中其实有贪心的意思,n个住户加一个商店,分布在一维直线上,应该是从商店开始,先向两边距离近的送,再往远的送. 这样肯定省时间,因为去了远的地方,近的地方自然就送了,不可能回来再送,所以我们可以开始定义状态 dp[i][j]代表送完从 i 到 j 所耗费的最小代价,但是我们发现此时状态虽然有了但是很难写出状态转移方程, 因为送完 i 到 j ,最后要么停在 i ,要么停在 j ,所以定义dp[i…
题目大意: 有n个人,住在一条直线上.第i个人的坐标是Xi,街上有个外卖餐馆的位置是X,现在餐厅工作人员要给街上的每个人送饭,送完之后再回到餐厅,送饭人的速度是V,每个人有个不满意值,当这个人送餐时间每晚一分钟,则这个人的不满意值增加Bi. 要求总的不满意值最小.   ===============================================================================================================   #…
https://vjudge.net/problem/ZOJ-3469 题意:在一条直线上有一个餐厅和n个订餐的人,每个人都有随时间上升的不满意值,从餐厅出发,计算出送完时最小的不满意值总和. 思路:这道题和UVa 1632这道题目很像,只不过1632可以从任一点出发,而这题必须从餐厅出发.1632每个坐标几秒之后就会消失,这题是每分钟不满意值会上升,比较类似,都是挺不错的区间DP题. d[i][j][0]代表的是在送完i~j这个区间的最小不满意值,并且此时人处于左端,d[i][j][1]则是人…
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=4255 题目大意:在x轴上有n个客人,每个客人每分钟增加的愤怒值不同.给出客人和餐厅的位置,以及客人每分钟增加的愤怒值,和送餐行走一公里需要的时间,问送完n个客人的外卖最小愤怒值.解题思路:如果要访问完[i,j],那么它的子区间一定访问完了.用dp[i][j][0]表示访问完区间[i,j]并留在左端点,dp[i][j][1]表示访问完区间[i,j]并留在右端点.把饭店…
题意: 在x轴上有一家外卖餐馆,有n个顾客站在x轴上不同坐标上且叫了外卖,每个人的脾气不同,每1分钟没有收到外卖就会增加Fi点愤怒值,而外卖小哥的车是有速度的v-1/分钟,问怎样的送餐次序会让所有顾客的愤怒值之和最小?输出愤怒值之和! 思路: 此题是很经典了,比较现实的模型. 随便画画就知道小哥可以一下子往左一下子往右走,往返多次也是有可能的,取决于顾客的愤怒系数Fi.那么在考虑一个区间[L,R]时,其任一子区间都必须是已经被考虑过了.现在考虑区间[L,R]可以转移到哪里,明显可以分别转移到[L…
题目传送门 题目翻译:当我们专注于解决问题时,我们通常宁愿呆在电脑前而不是外出吃午饭.在这个时候,我们可能会要求提供食物. 假设有N个人生活在一条直线的街道上,它只是位于X坐标轴上.第i个人的坐标是Xi米.在街上有一个外围餐厅,坐标X米.在午餐时间的一天,每个人同时从餐厅接受订单.作为餐厅的工作人员,您需要从餐厅开始,向N人送食物,然后回到餐厅.你的速度是每分钟V-1米. 你知道N人有不同的个性;因此他们对食物到来的时间有不同的感觉.他们的感受是通过不满指数衡量的.一开始,每个人的不满指数为0.…
题解 #include <iostream> #include <cstdio> #include <cstring> #include <algorithm> #include <map> #define MP make_pair using namespace std; typedef pair<int, int> PII; + ; const int INF = 0x3f3f3f3f; PII a[maxn]; int sum[…
题意:有一家快餐店送外卖,现在同时有n个家庭打进电话订购,送货员得以V-1的速度一家一家的运送,但是每一个家庭都有一个不开心的值,每分钟都会增加一倍,值达到一定程度,该家庭将不会再订购外卖了,现在为了以后有更多的家庭订购,要将外卖送到的情况下使得所有用户的不开心值总和达到最小 链接:点我 很明显,每多走一分钟,没送到的家庭的不开心值都会加倍, 假设是这样的顺序123X456,从X出发先往左右中间靠近的送,再往两边送省时间 dp[i][j][0]表示从i到j用户送到最小不开心值,此时送货员停留在左…