首页 > 其他分享 >2024 暑假友谊赛 1 (7.13)zhaosang

2024 暑假友谊赛 1 (7.13)zhaosang

时间:2024-07-14 20:08:06浏览次数:14  
标签:zhaosang int ll 2024 ++ vector 友谊赛 adj match

A-A

https://vjudge.net/contest/638765#problem/A
一开始贪心做不出来,后面发现是dp找到转移方程即可,01dp问题
代码如下

#include <bits/stdc++.h>

using namespace std;
using ll =long long;
ll v[10000010];
ll n;
ll ans;
ll prefix[10000010];
int main() {
	int N;
	cin >> N;
	vector<int> T(N);
	for (int i = 0; i < N; ++i) {
		cin >> T[i];
	}
	
	int all = accumulate(T.begin(), T.end(), 0);
	vector<bool> dp(all / 2 + 1, false);
	dp[0] = true;
	
	for (int i = 0; i < N; ++i) {
		for (int j = all / 2; j >= T[i]; --j) {
			if (dp[j - T[i]]) {
				dp[j] = true;
			}
		}
	}
	
	int result = all;
	for (int i = all / 2; i >= 0; --i) {
		if (dp[i]) {
			result = all - i;
			break;
		}
	}
	
	cout << result << endl;
	
	return 0;
}

B-B


板子题,

代码如下

#include <bits/stdc++.h>

using namespace std;
using ll =long long;
ll n;
ll ans;
ll prefix[10000010];
set<ll>st;

struct Point {
	ll x, y;
};

bool dfs(ll u, vector<vector<ll>> &adj, vector<bool> &visited, vector<ll> &match) {
	for (int v : adj[u]) {
		if (!visited[v]) {
			visited[v] = true;
			if (match[v] == -1 || dfs(match[v], adj, visited, match)) {
				match[v] = u;
				return true;
			}
		}
	}
	return false;
}

int maxMatching(vector<vector<ll>> &adj, int n) {
	vector<ll> match(n, -1);
	ll count = 0;
	for (int u = 0; u < n; ++u) {
		vector<bool> visited(n, false);
		if (dfs(u, adj, visited, match)) {
			count++;
		}
	}
	return count;
}

int main() {
	int N;
	cin >> N;
	
	vector<Point> red(N);
	vector<Point> blue(N);
	vector<vector<ll>> adj(N);
	for (int i = 0; i < N; ++i) {
		cin >> red[i].x >> red[i].y;
	}
	for (int i = 0; i < N; ++i) {
		cin >> blue[i].x >> blue[i].y;
	}	
	for (int i = 0; i < N; ++i) {
		for (int j = 0; j < N; ++j) {
			if (red[i].x < blue[j].x && red[i].y < blue[j].y) {
				adj[i].push_back(j);
			}
		}
	}
	
	ll result = maxMatching(adj, N);
	cout << result << endl;
	
	return 0;
}

H-H

https://vjudge.net/contest/638765#problem/H
签到题,不多说

#include <bits/stdc++.h>

using namespace std;
using ll =long long;
ll v[10000010];
ll n;
ll ans;
int main(){
	ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
	ll x,y,n;
	cin>>x>>y>>n;
	if(3*x<=y){
		cout<<n*x;
	}else {
		if(n>=3){
			cout<<(n/3)*y+(n%3)*x;
		}else
			cout<<n*x;
	}
}

其他题正在补。。。。。。
D-D

https://vjudge.net/contest/638765#problem/D

F-F

https://vjudge.net/contest/638765#problem/F

标签:zhaosang,int,ll,2024,++,vector,友谊赛,adj,match
From: https://www.cnblogs.com/dontian/p/18301933

相关文章

  • SMU Summer 2024 第一周周报 (zhaosang)
    学到了很多,不仅仅是学习方面的,在学校学跟在家寒假对比,天差地别吧。补题的过程中收获满满,最近练习二分三分,栈队列单调栈等习题,题目不简单,努力学习中。。打比赛也是,也有打的很惨的时候,我自己需要多总结找出原因,把短板补齐。总的来说,这个星期很累,但很爽!星期一:https://www.cnblogs......
  • 2024 暑假友谊赛-热身2 (7.12)zhaosang
    E-Ehttps://vjudge.net/problem/AtCoder-diverta2019_b给你a,b,c,n就是问你有多少(ia+jb+k*c)等于n的答案i,j,k任意几个都可以为零两种思想,数据量比较小,那么可以三重循环+减枝,或者枚举两个变量算出第三个代码如下:第一种三重循环#include<bits/stdc++.h>usingnamespa......
  • 2024Intellij IDEA永久激活
    先上永久激活效果教程更新时间:2024.1.8支持Windows、MacOS永久激活支持全家桶所有软件激活Windows系统(Mac教程在下方)第一步:下载插件包》》》下载链接在文末《《《》》》下载链接在文末《《《》》》下载链接在文末《《《第二步:解压“激活码-Win系统.zip”,一定要先解压!......
  • Invicti Standard 09 Jul 2024 v24.7.0
    新的安全检查添加了新的安全检查,以识别通过PolyfillJS进行的供应链攻击增加了对GeoServerSQLi漏洞(CVE-2023-25157 )的检测添加了对各种WordPress插件的检查改进改进信用卡披露安全检查为特工和InvictiHawk之间的通信添加了自定义标头将“可能的X......
  • SMU Summer 2024 Contest Round 2 (7.9)zhaosang
    A-Ahttp://162.14.124.219/contest/1006/problem/A考查用vector画图我枚举到n==5才开始用,浪费40分钟,还是找规律太慢,得多学做题代码如下:一坨#include<bits/stdc++.h>usingnamespacestd;usingll=longlong;constllN=1e6+8;charv[1000001];intw[10000001];ll......
  • SMU Summer 2024 Contest Round 3(7.10)zhaosang
    打的最菜一次,最惨一次,题读假了A-Ahttp://162.14.124.219/contest/1007/problem/A签到题要解决这道题,素数对,数据量不是很大,所以我们可以先预处理素数,这个偶数肯定是等于小于它的两个素数,所以只需要遍历到小于它即可,把素数存起来,然后这两个素数的和等于这个偶数,并且要求相差最小......
  • 2024华为云客服AI助手的大模型实践与思考(免费下载)
    【1】亲爱的读者,如果您想要下载文章完整版,请关注公众号并转发本文至您的微信朋友圈【2】公众号后台发送2024华为云客服AI助手的大模型实践与思考【3】即可获取本文对应的PDF学习文档。  ......
  • 【2023-2024第二学期助教总结】——物联网技术与应用
    author:陈琳娜一、助教工作的具体职责和任务1、与教师紧密配合:我通过线下会议及QQ等通讯工具,及时与教师沟通学生在学习过程中的疑难问题,确保问题得到及时反馈与处理。课后,我会与教师进行深入交流,共同探讨教学进展。2、指导学生参赛:积极鼓励并指导学生报名参加各类学术竞赛,协助他......
  • 20240709
    T1NFLSOJP3372game考虑对于B的行动,A会采取怎样的策略。容易发现两人路线相交只会是一条线段,因此枚举这条线段在B走过的哪条线段上,记录从起点和终点分别走到每个位置的最大权值,就可以搞了。然后考虑对B的路径dp,\(dp[i][j][0/1]\)表示从B的起点走到\((i,j)\),最后......
  • 20240708
    T2洛谷P2839Middle对于中位数,考虑二分,将数据中大于等于该数的标为\(1\),小于的标为\(0\),求和大于(等于)\(0\)则合法,否则非法。对于这个题,每次询问可以发现\([b,c]\)必选,前后两端不必全选。因此考虑前后两端的最大后/前缀和。接下来考虑如何快速标记。注意到当二分的数每次......