关于常数
  • 板块学术版
  • 楼主DX3906_ourstar
  • 当前回复3
  • 已保存回复3
  • 发布时间2024/10/19 17:17
  • 上次更新2024/10/19 19:39:28
查看原帖
关于常数
1268524
DX3906_ourstar楼主2024/10/19 17:17

rt,我写这道题的代码:

#include<cstdio>
#include<algorithm>
#include<cstring>
#define int __int128
#define re register
using namespace std;

const int N = 1e3 + 5,M = 1e7 + 5;;

int n,m,t;

int p[N][N],dp[M];

inline int read(){re char c = getchar();re int n = 0,f = 1;while(c < '0' || c > '9'){if(c == '-'){f = -1;}c = getchar();	}while(c >= '0' && c <= '9'){n = n * 10 + c - '0';c = getchar();}return n * f;}
inline void print(re int n){if(n >= 10){print(n / 10);}putchar(n % 10 + '0');return ;}
inline void write(re int n,re char c){print(n);putchar(c);return ;}

inline void cs(){
	memset(dp,0,sizeof(dp));
}

signed main(){
	t = read();
	n = read();
	m = read();
	for(re int i = 1;i <= t;i ++){
		for(re int j = 1;j <= n;j ++){
			p[i][j] = read();
		}
	}
	for(re int i = 1;i <= t;i ++){
		cs();
		for(re int j = 1;j <= n;j ++){
			for(re int k = p[i][j];k <= m;k ++){
				dp[k] = max(dp[k],dp[k - p[i][j]] + p[i + 1][j] - p[i][j]);
			}
		}
		m += dp[m];
	}
	write(m,'\n');
	return 0;
}

然后T飞了,45pts。

紧接着常数就展现它的力量了:我注释掉了#define int __int128,直接A了

所以求问各位dalao,考场上怎么确保不被卡常/卡空间?因为我向来有直接开__int128的习惯

2024/10/19 17:17
加载中...