bzoj 1899 贪心+dp

news/2024/12/22 18:34:14/

思路:这个贪心排顺序我居然没看出来。 吃饭时间长的在前面, 用反证法很容易得出。 剩下的就是瞎dp啦。

#include<bits/stdc++.h>
#define LL long long
#define fi first
#define se second
#define mk make_pair
#define PII pair<int, int>
#define PLI pair<LL, int>
#define ull unsigned long long
using namespace std;const int N = 200 + 7;
const int inf = 0x3f3f3f3f;
const LL INF = 0x3f3f3f3f3f3f3f3f;
const int mod = 1e9 + 7;PII a[N];
int dp[2][N*N*2], cur, n;int main() {scanf("%d", &n);for(int i = 1; i <= n; i++) scanf("%d%d", &a[i].se, &a[i].fi);sort(a + 1, a + 1 + n);reverse(a + 1, a + 1 + n);memset(dp[cur], inf, sizeof(dp[cur]));dp[cur][0] = 0;int sum = 0;for(int i = 1; i <= n; i++) {cur ^= 1;memset(dp[cur], inf, sizeof(dp[cur]));for(int j = 0; j < N*N*2; j++) {if(dp[cur^1][j] == inf) continue;dp[cur][j+a[i].se] = min(dp[cur][j+a[i].se], max(dp[cur^1][j], j+a[i].fi+a[i].se));dp[cur][j] = min(dp[cur][j], max(dp[cur^1][j], (sum-j)+a[i].fi+a[i].se));}sum += a[i].se;}int ans = inf;for(int i = 0; i < N*N*2; i++)ans = min(ans, dp[cur][i]);printf("%d\n", ans);return 0;
}/*
*/

 

转载于:https://www.cnblogs.com/CJLHY/p/9763151.html


http://www.ppmy.cn/news/772472.html

相关文章

FJUT ACM 1899 Largest Rectangle in a Histogram

#include<bits/stdc.h> using namespace std; typedef long long ll; /** 【思路】&#xff1a;其实一开始维护一个单调的栈&#xff0c; 这个栈存储序号&#xff0c;然后判断是不是可以填入&#xff0c; 如果可以填进去&#xff0c;就是维护一个单调递增的栈 如果输入一…

深入理解Gin框架中Trie树的实现原理

本文将详细介绍Gin框架中Trie树的实现原理&#xff0c;并提供简单的代码示例帮助读者更好地理解。我们将从基本概念开始&#xff0c;逐步构建类似Gin框架中的Trie树&#xff0c;并演示如何使用该Trie树进行路由匹配。通过本文的阅读&#xff0c;读者将能够深入理解Gin框架中Tri…

数据结构错题集 第八章 排序

8.1 3 B 稳定性问题&#xff1a; 是按关键字排序的 数值一样的两个数是两个不同的关键字 顺序可能不同 4.记住公式即可 8.2 B D与初始序列无关 选择排序&#xff1a;在n个中选择最小的 放在第一个 在n-1个中 选择第二小的放在第二个 快速排序 越有序 反而越复杂化 直接插入…

基尼gini系数-决策树

CART树采用基尼系数分割&#xff0c;而不是信息增益。

Gini系数

Gini系数 评价指标使用Gini系数&#xff1a;GiniA/(AB) 注&#xff1a;gini 2*AUC-1

基尼系数(Gini Impurity)的理解和计算

一、基尼指数的概念 基尼指数&#xff08;Gini不纯度&#xff09;表示在样本集合中一个随机选中的样本被分错的概率。 注意&#xff1a;Gini指数越小表示集合中被选中的样本被参错的概率越小&#xff0c;也就是说集合的纯度越高&#xff0c;反之&#xff0c;集合越不纯。当集合…

GINI系数的计算

简便易用的公式&#xff1a;假定一定数量的人口按收入由低到高顺序排队&#xff0c;分为人数相等的n组&#xff0c;从第1组到第i组人口累计收入占全部人口总收入的比重为wi&#xff0c;则说明&#xff1a;该公式是利用定积分的定义将对洛伦茨曲线的积分(面积B)分成n个等高梯形的…

Gini指数的计算

Gini指数的计算 import torch import numpy as npdef gini_index_single(a,b):single_gini 1 - ((a/(ab))**2 (b/(ab))**2)return round(single_gini,2) ## 是来表示的是对应着他们所对应的纯度的。其中所对应的G ## Gini指数越小的话&#xff0c;所对应的纯度就是越高的pr…