周末没事干了 打算水一局普及局 没想到翻跟头了
ll都可以忘了开!!!该死
【免费】2021牛客OI赛前集训营-普及组(第七场)_CSP/NOI/信息学奥赛培训提高_牛客竞赛OJ
A
int n, t;
int main()
{
cin >> n >> t;
cout << t % (n * n) / n + 1 << " " << t % n + 1;
return 0;
}
B
#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
template <typename T> void read(T &x) {
x=0;
char c=getchar();
for (; !isdigit(c); c=getchar());
for (; isdigit(c); c=getchar()) x=x*10+c-'0';
}
int n,k;
struct node {
int u,v;
} a[1000005];
bool cmp(node a,node b) {
return a.u<b.u;
}
int main() {
// read(n),read(k);
cin>>n>>k;
for (int i=1; i<=n; ++i) {
// read(a[i].v),read(a[i].u);
cin>>a[i].v>>a[i].u;
}
sort(a+1,a+1+n,cmp);
for (int i=1; i<=n; ++i) {
if (a[i].v>a[i].u && k>=a[i].u) k=k-a[i].u+a[i].v;
}
printf("%d",k);
return 0;
}
c
const int MAX=1e6+10;
int a[MAX];
int b[MAX];
int main(){
int n;
cin>>n;
for(int i=0;i<n;i++){
cin>>a[i];
b[i]=a[i];
}
sort(b,b+n,greater<int>());
int flag=1;
for(int i=0;i<n;i++){
if(a[i]!=b[i]){
flag=0;
break;
}
}
if(flag){
cout<<0<<endl;
}
else {
cout<<1<<endl;
}
}
D
#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
const int N = 1e4 + 10;
const LL INF = 0x7f7f7f7f;
LL n, m, t, k, maxx;
LL v[60], w[60], a[N], dp[210];
LL dp1[45][45];
LL max(LL c, LL d)
{
return c > d ? c : d;
}
LL min(LL c, LL d)
{
return c > d ? d : c;
}
int main()
{
cin >> n >> m >> t;
for (LL i = 1; i <= n; i ++ )
{
memset(dp, 0, sizeof(dp));
cin >> k;
for (LL j = 1; j <= k; j ++ )
cin >> w[j] >> v[j];
for (LL j = 1; j <= k; j ++ )
for (LL k = t; k >= v[j]; k -- )
dp[k] = max(dp[k], dp[k - v[j]] + w[j]);
a[i] = dp[t];
}
for (int i = 1; i <= n - m + 1; i ++ )
{
memset(dp1, -INF, sizeof(dp1));
for (int j = i; j < i + m; j ++ )
dp1[j - i + 1][j - i + 1] = a[j];
for (int len = 1; len < m; len ++ )
for (int j = 1; j + len <= m; j ++ )
{
const int k = j + len;
dp1[j][k] = max(dp1[j + 1][k] * 2ll + a[j + i - 1], dp1[j][k - 1] * 2ll + a[k + i - 1]);
}
maxx = max(maxx, dp1[1][m]);
}
cout << maxx << endl;
return 0;
}
本文介绍了三道编程竞赛题目,涉及数组操作、图论和动态规划。在A题中,主要考察整数除法的巧妙应用;B题是一个关于边权值的调整问题,通过排序和更新求解;C题则是判断数组是否有序的简单问题。这些题目锻炼了参赛者的算法思维和编程技巧。
960

被折叠的 条评论
为什么被折叠?



