HDU 4175 Class Schedule (暴力+一点dp)
来源:互联网 发布:admaster数据分析 编辑:程序博客网 时间:2024/05/20 21:49
HDU 4175
题意:有C座楼,每座楼有T个教室,一个人需要访问C个教室,每座楼只能访问一个教室。访问教室需要消耗能量,从x点走到y点需要消耗abs(x-y)的能量,最后要走到目的点L,问最后走到目的点L需要消耗的最少能量。
思路:读清题意,用getchar()的方式去读。。此外英文阅读水平比较拙计,亟待提升,以后不能再直接用有道翻译来做题了!
直接暴力枚举。用dp[i][j]表示class = i , classroom = j的所需最小能量,
dp[i][j] = dp[i-1][k] + abs(e[i-1][k].pos - e[i][j].pos) + e[i][j].cost;直接看代码吧:)
code:
/** @author Novicer* language : C++/C*/#include<iostream>#include<sstream>#include<fstream>#include<vector>#include<list>#include<deque>#include<queue>#include<stack>#include<map>#include<set>#include<bitset>#include<algorithm>#include<cstdio>#include<cstdlib>#include<cstring>#include<cctype>#include<cmath>#include<ctime>#include<iomanip>#define inf 20000000using namespace std;const double eps(1e-8);typedef long long lint;struct cl{int pos;int cost;};cl e[30][1005];int dp[30][1005];//dp[i][j]表示class = i , classroom = j的所需最小能量int main(){//freopen("input.txt","r",stdin);int kase;cin >> kase;while(kase--){//memset(e,0,sizeof(e));memset(dp,0,sizeof(dp));int c,t,l;cin >> c >> t >> l;for(int i = 1 ; i <= c ; i++){for(int j = 1 ; j <= t ; j++){scanf("%d%d",&e[i][j].pos,&e[i][j].cost);}}for(int i = 1 ; i <= c ; i++){for(int j = 1 ; j <= t ; j++){int tmp = inf;for(int k = 1 ; k <= t ; k++){dp[i][j] = dp[i-1][k] + abs(e[i-1][k].pos - e[i][j].pos) + e[i][j].cost;tmp = min(dp[i][j] , tmp);}dp[i][j] = tmp;//cout << dp[i][j] << endl;}}int ans = inf;for(int i = 1 ; i <= t ; i++){int value = dp[c][i] + abs(l - e[c][i].pos);ans = min(ans , value);}cout << ans << endl;}return 0;}
0 0
- HDU 4175 Class Schedule (暴力+一点dp)
- HDU 5074 Hatsune Miku(暴力+DP)
- Hdu 4824 Disk Schedule【TSP-Dp】
- XTU 1275 Exam Schedule(暴力)
- HDU 3689 (KMP+DP || 暴力+dp)
- HDU 2089 不要62(数位dp/暴力打表)
- hdu 2089 不要62(数位DP/暴力)
- HDU 5280 Senior's Array(DP思想 暴力)
- hdu 2089 不要62(数位dp)暴力
- Hdu 2089 不要62 (暴力/数位dp)
- hdu 4681 String(暴力&dp&LCS)
- HDU 5074 Hatsune Miku 暴力dp
- hdu 5311 Hidden String(dp+暴力dfs)
- HDU 5001 Walk(暴力+概率DP)
- hdu 5469 Antonidas 树形dp+暴力 ★
- hdu 6180 Schedule (贪心)
- hdu 6180 Schedule (multiset)
- hdu 6180 Schedule(贪心)
- POJ 2479 Maximum sum(双向DP)
- 正确处理浏览器在下载文件时HTTP头的编码问题(Content-Disposition)
- 几种排序算法综合比较(快速,归并,希尔,堆排序等)
- 交换a、b的值temp = a; a = b; b = temp;比a = a^b;b = a^b;a = a^b;快
- Java中IO小结
- HDU 4175 Class Schedule (暴力+一点dp)
- hdu 5311 Hidden String 字符串
- Android SDK Manager国内下载缓慢或不能下载的问题
- 常见的块状元素与内联元素
- leetCode 91.Decode Ways (解码方式) 解题思路和方法
- linux 进程等待 wait 、 waitpid
- [考试维护]时隔半年的考试系统
- 数据结构(二):线性表的使用原则以及链表的应用-稀疏矩阵的三元组表示
- 向PE中注入代码