hdoj 5681 zxa and wifi
来源:互联网 发布:17%退税率出口退税算法 编辑:程序博客网 时间:2024/06/06 05:09
比赛的时候撸了个dp,用线段树优化状态转移,无限T。。然后题解的
#include <iostream> #include <stdio.h> #include <cmath> #include <algorithm> #include <string> #include <string.h> #include <vector> #include <queue> #include <stack>#include <map>using namespace std;#define ll long longint dp[20010][110];int d[20010];int a[20010];int b[20010];int r[20010];int pos[20010];int leftMost[20010];int rightMost[20010];const int INF = 2e9;struct seg{ int id; int l,r; bool operator<(const seg &other){ return r<other.r; }}s[20010];int main(){ int t; cin>>t; while(t--){ int n,k; cin>>n>>k; for(int i=1;i<n;i++){ scanf("%d",&d[i]); pos[i+1] = pos[i] + d[i]; } for(int i=1;i<=n;i++){ scanf("%d%d%d",&a[i],&r[i],&b[i]); } for(int i=1;i<=n;i++){ leftMost[i] = lower_bound(pos+1,pos+n+1,pos[i]-r[i]) - (pos); } for(int i=1;i<=n;i++){ rightMost[i] = lower_bound(pos+1,pos+n+1,pos[i]+r[i]+1) - (pos+1); } for(int i=1;i<=n;i++){ s[i].id = i; s[i].l = leftMost[i]; s[i].r = rightMost[i]; } sort(s+1,s+n+1); for(int i=1;i<=n;i++){ dp[i][0] = dp[i-1][0] + b[i]; } for(int j=1;j<=k;j++){ for(int i=1;i<=n;i++){ dp[i][j] = dp[i][j-1]; } for(int i = 1;i<=n;i++){ dp[s[i].r][j] = min(dp[s[i].r][j],dp[s[i].l-1][j-1]+a[s[i].id]); } for(int i = 1;i<=n;i++){ dp[i][j] = min(dp[i][j],dp[i-1][j]+b[i]); } for(int i = n-1;i>=1;i--){ dp[i][j] = min(dp[i][j],dp[i+1][j]); } } int ans = INF; for(int i=0;i<=k;i++){ int tmp = dp[n][i]; ans = min(ans,tmp); } cout<<ans<<endl; } return 0;}
0 0
- hdoj 5681 zxa and wifi
- HDU 5681 zxa and wifi
- HDU 5681:zxa and wifi
- hdoj-5680-zxa and set
- BestCoder zxa and set
- 1004 zxa and xor
- BC zxa and set
- BestCoder Round #83 zxa and wifi(一个奇怪的DP题)
- HDU 5680 zxa and set
- HDU 5682 zxa and leaf
- HDU 5683 zxa and xor
- HDU 5680 - zxa and set
- hdu 5680 zxa and set
- HDU 5680 zxa and set
- HDU 5682 zxa and leaf
- BestCoder Round #83 1004 zxa and xor
- BestCoder Round #83 1001 zxa and set
- BestCoder Round #83 Problem1001 zxa and set
- QT信号槽多次连接引起的错误修改
- PHP第三方登录—QQ登录
- centos 的权限管理--自主访问控制DAC和访问控制列表 ACL
- listener.ora
- hdu_4824_Disk Schedule(dp)
- hdoj 5681 zxa and wifi
- leetcode.10. Regular Expression Matching
- osg布告板技术(Billboard)
- 虚幻4 shader的使用
- Centos 7 安装VNC步骤
- [动态规划]之裸lis之最长上升子序列POJ 2533
- Android开发工具之Android Studio---版本控制SVN使用(二)
- 有道云笔记markdown语法整理
- 求成绩