新生多校第6场 LLM找对象(DP+离散化)
来源:互联网 发布:辐射4捏脸数据存档 编辑:程序博客网 时间:2024/05/29 12:20
题解:
dp[i][j][0]:前i天已经j天不穿拖鞋且第i天穿了拖鞋的最大值
dp[i][j][1]:前i天已经j天不穿拖鞋且第i天没穿拖鞋的最大值
状态转移:
dp[i][j][0]=max(dp[i-1][j][0],dp[i-1][j][1]);
dp[i][j][1]=max(dp[i][j][1],dp[i-1][j-1][0]+d[i]);(d[i]表示第i天有多少个妹子)
#include<set>#include<map> #include<stack> #include<queue> #include<vector> #include<string> #include<math.h> #include<stdio.h> #include<iostream> #include<string.h> #include<stdlib.h> #include<algorithm> #include<functional> using namespace std;typedef long long ll;#define inf 1000000000 #define mod 1000000007 #define maxn 1705 #define PI acos(-1.0) #define lowbit(x) (x&-x) #define eps 1e-9 int dp[maxn][maxn][2], a[maxn*100], b[maxn*100], c[maxn*100], d[maxn*100];int main(void){int n, k, i, j, cnt, p;while (scanf("%d%d", &n, &k) != EOF){cnt = 0;p = 1;memset(a, 0, sizeof(a));memset(c, 0, sizeof(c));memset(d, 0, sizeof(d));memset(dp, 0, sizeof(dp));for (i = 1;i <= n;i++)scanf("%d", &a[i]), b[i] = a[i];k = min(k, n);sort(b + 1, b + n + 1);int num = unique(b + 1, b + n + 1) - b - 1;c[1] = b[1];cnt = 1;for (i = 2;i <= num;i++){if (b[i] - b[i - 1] > 1)c[++cnt] = b[i] - 1;c[++cnt] = b[i];}for (i = 1;i <= n;i++)a[i] = lower_bound(c + 1, c + cnt + 1, a[i]) - c;sort(a + 1, a + n + 1);for (i = 1;i <= max(n, cnt);i++)d[a[i]]++;for (i = 1;i <= max(cnt, n);i++){for (j = 1;j <= k;j++){if (j > i)break;dp[i][j][0] = max(dp[i - 1][j][0], dp[i - 1][j][1]);dp[i][j][1] = max(dp[i][j][1], dp[i - 1][j - 1][0] + d[i]);}}int ans=0, tmp;for (i = 0;i <= k;i++){tmp = max(dp[max(n, cnt)][i][1], dp[max(n, cnt)][i][0]);ans = max(ans, tmp);}printf("%d\n", ans);}return 0;}
阅读全文
1 0
- 新生多校第6场 LLM找对象(DP+离散化)
- 2358: LLM找对象【dp+离散化】
- 【河南省多校脸萌第六场 E】2358:LLM找对象
- NYOJ 2358(可能不存在的题-多校脸萌六)LLM找对象-dp
- 新生排位赛第四场 dp
- 新生排位赛第一场 dp 大数处理与模板
- hdu 4911 Inversion (多校第5场,求逆序数对,离散化)
- POJ-1015(离散化DP)
- vijos p1002 过河(离散化dp)
- 数位DP(离散化+技巧)
- hdu3666 离散化dp
- Millionare_离散化&&DP
- dp+离散(RMQ)
- HDU5139 - Formula(找规律+离散化)
- HDU 4444 Walk <离散化+找路径>
- hdu 2519 新生晚会 (DP)
- 【dp+离散化】hdu 4028
- hdu5009 离散化+dp+优化
- Android 原生HttpURLConnection网络请求工具类(get post)
- 阿里面试经历(二)
- Redux
- 1030. Travel Plan (30)
- JavaSE学习总结-坦克大战
- 新生多校第6场 LLM找对象(DP+离散化)
- 包装类
- MySQL高阶之事务、存储结构、索引、触发器
- Bigtable: A Distributed Storage System for Structured Data : part10 Related Work
- 动画的枚举UIViewAnimationOptions
- LeetCode 643. Maximum Average Subarray I
- 使用gstreamer搭建简易的播放器
- writen() --- readn()
- 关于minergate的使用图解,你仅需要知道这些就能挖矿了