夏令营入门组day2
创始人
2024-12-25 21:36:29
0

目录

一. 试卷

二. 专题:贪心,构造


一. 试卷

1. 资产

(1)错误思路:· 每一步都取绝对值

                           · 若下一个数为负且当前和为负时不取绝对值,若下一个数为正且当前和为负时取绝对值。反例:-5 -3 2 -1 -7 在加完前两个时遇到2不应取绝对值,应该在最后一步时再取加绝对值才能达到最大值。

(2)正确思路:由于并不知道该在何时对和取绝对值,所以用maxn和minn看最大能到多大和最小能到多小,在最后一次再取绝对值。

#include #define LL long long using namespace std;  const int N = 3e5; LL n, ans, a[N];  int main() { 	LL p, q, minn = 0, maxn = 0; 	cin >> n; 	for (int i = 1; i <= n; i ++) 	{ 		cin >> a[i]; 		p = maxn + a[i]; 		q = minn + a[i]; 		maxn = max(p, q, abs(p), abs(q)); 		minn = min(p, q, abs(p), abs(q)); 	} 	cout << maxn; 	return 0; } 

2. 视频游戏

正确思路:对回合数二分答案,回合数大于正确答案Boss一定死,小于正确答案一定杀不死,符合单调性。

#include using namespace std;  int h, n, ans, a[200005], c[200005], cd[200005];  int f(int x, int h) { 	x --;  	for (int i = 1; i <= n; i ++) 		h -= (x / c[i]) * a[i]; 	return h; }  int main() { 	int l, r, mid; 	cin >> h >> n; 	for (int i = 1; i <= n; i ++) 	{ 		cin >> a[i]; 		h -= a[i]; 	} 	for (int i = 1; i <= n; i ++) 		cin >> c[i]; 	l = 1, r = 5e10;                    // 边界一定要开得大 	while (l <= r) 	{ 		mid = l + (r - l) / 2; 		if (f(mid, h) <= 0) 		{ 			ans = mid; 			r = mid - 1; 		} 		else 			l = mid + 1; 	} 	cout << ans; 	return 0; }

二. 专题:贪心,构造

(1)USACO21OPEN Acowdemia III

思路:

(1)并不关心每棵草让哪两头牛成为朋友,只要一棵草周围有两头牛以上就可一多出一对朋友。

(2) 但这会出现特殊情况,例如 ‘ C G     和    ' G C

                                                        G C ’             C G '     两堆草会出现重复的朋友。

(3)因此要分类讨论:· 一堆草周围牛数大于2,答案直接加一

                                      · 一堆草周围牛数等于2,祥判断是否满足上述特例,若满足,只要上方的草加过一次,下方的草就不加。

代码:

#include #define LL long long using namespace std;  int n, m, ans, dx[4] = {-1, 1, 0, 0}, dy[4] = {0, 0, -1, 1}, num[1001][1001]; char w[1001][1001];  int main() { 	cin >> n >> m; 	for (int i = 1; i <= n; i ++) 		for (int j = 1; j <= m; j ++)  			cin >> w[i][j]; 	for (int i = 1; i <= n; i ++) 		for (int j = 1; j <= m; j ++) 			for (int k = 0; k < 4; k ++) 				num[i][j] += (w[i + dx[k]][j + dy[k]] == 'C'); 	for (int i = 1; i <= n; i ++) 		for (int j = 1; j <= m; j ++) 			if (w[i][j] == 'G') 			{ 				if (num[i][j] > 2) 					ans ++; 				if (num[i][j] == 2) 				{ 					if ( (w[i][j - 1] == 'C' && w[i - 1][j - 1] == 'G' && w[i - 1][j] == 'C'  						&& num[i - 1][j - 1] == 2)  					   || (w[i - 1][j] == 'C' && w[i][j + 1] == 'C' && w[i - 1][j + 1] == 'G'  					    && num[i - 1][j + 1] == 2) ) 						continue; 					ans ++;		 				}		 			}		 	cout << ans; 	return 0;	 }

(2)USACO05NOV  奶牛玩杂技 

思路:体重与力量值之和从大到小依次从下往上叠。

相关内容

热门资讯

反观!爱玩联盟辅助软件视频讲解... 反观!爱玩联盟辅助软件视频讲解,福建大玩家十三水辅助(总是是有修改器)-哔哩哔哩一、爱玩联盟辅助软件...
现就发布提示!天天贵阳智能辅助... 您好,天天贵阳智能辅助器这款游戏可以开挂的,确实是有挂的,需要了解加去威信【136704302】很多...
备受关注的!一起宁德福鼎打炸辅... 备受关注的!一起宁德福鼎打炸辅助开挂,情怀莆仙辅助(都是真的是有脚本)-哔哩哔哩1、首先打开一起宁德...
今年以来!山西扣点点辅助,土豪... 今年以来!山西扣点点辅助,土豪联盟辅助器(确实是有下载)-哔哩哔哩1、在土豪联盟辅助器插件功能辅助器...
在玩家背景下!多乐跑小程序如何... 在玩家背景下!多乐跑小程序如何开辅助,潮友辅助器开挂软件(切实真的有神器)-哔哩哔哩1、用户打开应用...
截至目前!闽游十三水辅助,小闲... 截至目前!闽游十三水辅助,小闲川南斗十四辅助(确实真的有工具)-哔哩哔哩1)小闲川南斗十四辅助辅助插...
近日!新蜜瓜大厅控制器,打哈儿... 近日!新蜜瓜大厅控制器,打哈儿辅助(确实有挂工具)-哔哩哔哩1、新蜜瓜大厅控制器辅助软件下载优化,新...
有玩家发现!湛江吴川0759程... 有玩家发现!湛江吴川0759程序,抚州麻将牌牌局修改器(果然有挂挂)-哔哩哔哩抚州麻将牌牌局修改器破...
更值得关注的是!财神十三章辅助... 更值得关注的是!财神十三章辅助软件,心悦填大坑破解器(竟然有挂脚本)-哔哩哔哩1、上手简单,内置详细...
出现新变化!哥哥打大a游戏攻略... 出现新变化!哥哥打大a游戏攻略,边锋辅助器(一贯有挂器)-哔哩哔哩1、首先打开哥哥打大a游戏攻略辅助...