首页 > 其他分享 >2022ICPC杭州站 - C D

2022ICPC杭州站 - C D

时间:2023-10-29 15:35:08浏览次数:43  
标签:typedef No int long 2022ICPC 杭州 dp define

目录

cf 传送门

C DP

The 2022 ICPC Asia Hangzhou Regional Programming Contest

C. No Bug No Game

参考题解(非常详细)

//>>>Qiansui
#include<bits/stdc++.h>
#define ll long long
#define ull unsigned long long
#define mem(x,y) memset(x, y, sizeof(x))
#define debug(x) cout << #x << " = " << x << '\n'
#define debug2(x,y) cout << #x << " = " << x << " " << #y << " = "<< y << '\n'
//#define int long long

using namespace std;
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;
typedef pair<ull, ull> pull;
typedef pair<double, double> pdd;
/*

*/
const int N = 3e3 + 5, inf = 0x3f3f3f3f;
const ll INF = 0x3f3f3f3f3f3f3f3f, mod = 998244353;
int n, k, dp[N][N][2];
vector<int> p[N];

void solve(){
	cin >> n >> k;
	int sum = 0;
	for(int i = 1; i <= n; ++ i){
		int c, t;
		cin >> c;
		for(int j = 0; j < c; ++ j){
			cin >> t;
			p[i].push_back(t);
		}
		sum += c;
	}
	if(sum <= k){
		sum = 0;
		for(int i = 1; i <= n; ++ i) sum += p[i].back();
		cout << sum << '\n';
		return ;
	}
	mem(dp, -1);
	dp[0][0][0] = 0;
	for(int i = 1; i <= n; ++ i){
		int c = p[i].size();
		for(int j = 0; j <= k; ++ j){
			dp[i][j][0] = dp[i - 1][j][0];
			if(j >= c && dp[i - 1][j - c][0] != -1)
				dp[i][j][0] = max(dp[i][j][0], dp[i - 1][j - c][0] + p[i].back());
		}
	}
	dp[n + 1][0][1] = 0;
	for(int i = n; i > 0; -- i){
		int c = p[i].size();
		for(int j = 0; j <= k; ++ j){
			dp[i][j][1] = dp[i + 1][j][1];
			if(j >= c && dp[i + 1][j - c][1] != -1)
				dp[i][j][1] = max(dp[i][j][1], dp[i + 1][j - c][1] + p[i].back());
		}
	}
	int ans = 0;
	for(int i = 1; i <= n; ++ i){
		for(int j = 1; j <= p[i].size(); ++ j){
			int res = k - j;
			for(int l = 0; l <= res; ++ l){
				int r = res - l;
				if(dp[i - 1][l][0] != -1 && dp[i + 1][r][1] != -1){
					ans = max(ans, dp[i - 1][l][0] + dp[i + 1][r][1] + p[i][j - 1]);
				}
			}
		}
	}
	cout << ans << '\n';
	return ;
}

signed main(){
	// freopen("in.txt", "r", stdin);
	// freopen("out.txt", "w", stdout);
	ios::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr);
	int _ = 1;
	// cin >> _;
	while(_ --){
		solve();
	}
	return 0;
}

标签:typedef,No,int,long,2022ICPC,杭州,dp,define
From: https://www.cnblogs.com/Qiansui/p/17795914.html

相关文章

  • 是谁在造谣杭州取消直播带货?
    我是卢松松,点点上面的头像,欢迎关注我哦!这个世道,谣言的传播成本很低:比如“杭州禁止直播带货”这件事。就在今天若水跟我说:“杭州禁止直播是谣言了,辟谣了”让我也赶紧隐藏或删除内容,别到时候惹麻烦。惹麻烦?当时我心想:我的数据来源靠谱,都是有官方发的内容,怎么就成谣言了呢?后面我打开......
  • Python给你一个字符串,你怎么判断是不是ipv4地址?手写这段代码,并写出测试用例【杭州多测
    ipv4地址的格式:(1~255).(0 ~255).(0 ~255).(0 ~255)1.正则表达式importredefcheck_ip(one_str):compile_ip=re.compile('^(([1-9]|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])\.){3}(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])$')ifcompile_ip.match(one_str):......
  • 分布式链路追踪系统zipkin【杭州多测师_王sir】
    一、部署zipkin环境的方式==》1.docker  2、java-jar   3、运行源码二、分别可以在Linux系统和Windows系统里面运行zipkin三、在地址栏输入:http://127.0.0.1:9411四、zipkin的流程图由上图可以看出,应用的代码(User Code)发起 Http Get 请求(请求路径 /foo),经过 Zipkin......
  • 千万级CPS的开源网络压测软件dperf【杭州多测师_王sir】
     一、性能压测指标CPS二、dperf由百度的智能负载均衡团队研发,使用ApacheLicenseVersion2.0许可证开源发布,项目地址 https://github.com/baidu/dperf  三、详细介绍:https://developer.baidu.com/article/detail.html?id=294625四、Gitee项目源代码:https://gitee.com/baidu/dp......
  • SVN一直报错Error running context: 由于目标计算机积极拒绝,无法连接。解决办法【杭州
    一、发现SVN一直报错Errorrunningcontext:由于目标计算机积极拒绝,无法连接。 二、没有启动 VisualSVN Server。cmd--> services.msc打开本地服务。查看VisualSVN的三个服务的启动类型,建议选择“手动”,不能选择“禁用”,选择“自动”开机启动耗内存,因为是Java写的插件,要启......
  • 【杭州 AI 峰会】AI 最后一公里 - 变现探索
    一、会议简介ChatGPT发布即将满一周年,这一年智能商业大变革悄然而至。有人成功打造AI商业模式,赚得盆满钵满;有人实施全套AI工作流,极致提效降本;有人凭借明确的愿景和行动力,获得千万投资;有人年仅20,准确把握AI浪潮,6个月用户激增20万,实现收支平衡;...如何抓住这波AI红利,抓住......
  • 软件测试面试题-逻辑题【杭州多测师_王sir】
    1.你有不限量的水,还有两个罐子,容量分别是5升和3升,怎么取4升的水?先把3升的杯子装满,倒进5升的杯子;之后把3升的杯子装满,倒进5升的杯子,里面还剩1升。之后把5升的杯子里的水都倒掉,把3升的杯子里的1升倒进去。再把3升的杯子装满,倒进5升的杯子。2.房间内有三盏灯,房外有三个开关,只能......
  • 杭州亚运会实现核心系统100%上云、云上转播7200+小时
    杭州亚运会实现核心系统100%上云。10月8日晚,杭州亚运会圆满闭幕。作为史上首届“云上亚运”,杭州亚运会创造了历史。杭州亚运会实现了核心系统100%上云,并借助后台云算力、云存储等云技术保障,建设一系列各层级、各场馆数字指挥平台,实现全面感知、高效指挥。同时,首次实现云上转播,......
  • 2022 杭州 ICPC 补题 ACKG
    2022杭州ICPC补题ACKGhttps://codeforces.com/gym/104090笨成sb,啥也不会写完两个签到就坐牢(要补到银首,所以还差一个G题没补)说实话补了三题,感觉就是一些算法的延申,比如这一场的铜牌题其实考到的就是exgcd,Trie,背包dp,但是又不完全是单纯靠这个算法,需要你有一些引......
  • 【爬虫实战】用python爬小红书某话题的笔记,以#杭州亚运会#为例
    目录一、爬取目标二、爬虫代码讲解2.1分析过程2.2爬虫代码三、演示视频四、获取完整代码一、爬取目标您好!我是@马哥python说,一名10年程序猿。最近的亚运会大家都看了吗。除了振奋人心,还主打一个爱憎分明(主要针对小日子和韩国),看了的小伙伴都懂得!我用python爬取了小红书上#杭......