2019.3.14解题报告&补题报告
2024-08-30 14:44:23
A题
题意:
输入r, c,代表r*c的矩阵,接下来一行,是r个数,代表每一行里最大的数;接下来一行,是c个数,代表每一列中的最大数。求所给数据是否冲突。
思路:判断r个数中最大数maxr和c个数中最大数maxc是否相等,相等即能构造矩阵,否则不能。原因是maxr和maxc都是矩阵最大值,只有两数相等才可能构成矩阵。
代码:
#include<bits/stdc++.h> #define vint vector<int>
#define vstr vector<string>
#define vll vector<long long>
#define ll long long
#define ull unsigned long long
#define pf printf
#define sf scanf
#define sfd(n) scanf("%d", &n)
#define sflf(n) scanf("%lf", &n)
#define sfll(n) scanf("%lld", &n)
#define pfd(n) printf("%d", n)
#define pflf(n) printf("%lf", n)
#define pfll(n) printf("%lld", n)
#define pft printf("\t")
#define pfn printf("\n")
#define pfk printf(" ")
#define PI 3.1415926
#define MAX 100000 using namespace std; int n, m;
int a[], b[]; int main() {
cin >> n >> m;
int maxr = -, maxc = -;
for (int i = ; i <= n; i++) {
cin >> a[i];
maxr = max(maxr, a[i]);
}
for (int i = ; i <= m; i++) {
cin >> b[i];
maxc = max(maxc, b[i]);
}
if( maxr==maxc ) {
cout << "possible" << endl;
}else {
cout << "impossible" << endl;
} return ;
}
F题
题意:
给定n, 且n = m^2 - k^2 ,求m,k。
思路:
设m = k+x;
则m^2 - k^2 = 2*x*k+x^2
即n = 2*x*k+x^2 , x、k是正整数
所以当x是奇数时,n为奇数;当x是偶数时,n是4的倍数;
所以
- n是奇数:x可以取1,即n = 2*k+1, m = k+1;
- n是4的倍数:x取2,即n = 4*k+4, m = k+2;
- n%2==0&&n%4!=0: 无法满足式子;
代码:
#include<bits/stdc++.h> #define vint vector<int>
#define vstr vector<string>
#define vll vector<long long>
#define ll long long
#define ull unsigned long long
#define pf printf
#define sf scanf
#define sfd(n) scanf("%d", &n)
#define sflf(n) scanf("%lf", &n)
#define sfll(n) scanf("%lld", &n)
#define pfd(n) printf("%d", n)
#define pflf(n) printf("%lf", n)
#define pfll(n) printf("%lld", n)
#define pft printf("\t")
#define pfn printf("\n")
#define pfk printf(" ")
#define PI 3.1415926
#define MAX 100000 using namespace std; int main() {
ll n, m, k;
bool f = true;
cin >> n;
if( n%!= ) {
k = (n-)/;
m = k+;
}else if( n%== ){
k = (n-)/;
m = k+;
}else {
f = false;
}
if( f ) {
cout << m << " " << k;
}else {
pf("impossible");
} return ;
}
I题
题意:
求公式最大值
思路:
sos保存前k项的平方和,sum保存后(n-k)项的和,
遍历k,求最大值
代码:
#include<bits/stdc++.h> #define vint vector<int>
#define vstr vector<string>
#define vll vector<long long>
#define ll long long
#define ull unsigned long long
#define pf printf
#define sf scanf
#define sfd(n) scanf("%d", &n)
#define sfc(n) scanf("%c", &n)
#define sflf(n) scanf("%lf", &n)
#define sfll(n) scanf("%lld", &n)
#define pfd(n) printf("%d", n)
#define pfc(n) printf("%c", n)
#define pflf(n) printf("%lf", n)
#define pfll(n) printf("%lld", n)
#define pft printf("\t")
#define pfn printf("\n")
#define pfk printf(" ")
#define PI 3.1415926
#define MAX 100000 using namespace std; int main() {
int n;
cin >> n;
int* num = new int[n];
cin >> num[];
ll sos = num[]*num[], sum = , max = , ans;
for( int i=; i<n; i++ ) {
cin >> num[i];
sum += num[i];
}
for( int k=; k<n; k++ ) {
ans = sos*sum;
if( max<ans ) {
max = ans;
}
sos += num[k]*num[k];
sum -= num[k];
}
pfll(max); return ;
}
最新文章
- 【Java每日一题】20161212
- HDU 3746:Cyclic Nacklace
- 【转载】【内存对齐(二)】__declspec( align(#) )的用法和大小计算
- rsync 的安装
- FileStream的使用
- Noah的学习笔记之Python篇:函数“可变长参数”
- Talented Chef(简单题,被我想的太复杂了,用复杂的方法当然会超时咯,由此可见,并非所有题都是想的越多越好)
- html的简单表单制作...day5 php
- ural1470 UFOs
- 关于extjs表单布局的几种方式
- Archlinux下i3wm与urxvt的配置
- 第四周java学习总结
- C# winform在关闭窗体的时候及时释放内存问题
- localtime函数和strftime函数
- Web.config配置customErrors mode为Off后依然不显示具体错误的可能原因。
- sap 最新财报以及云业务转型情况
- Maven 自动打包上传到私服 Nexus
- 安卓在代码中设置TextView的drawableLeft、drawableRight、drawableTop、drawableBottom
- Codeforces.914D.Bash and a Tough Math Puzzle(线段树)
- web前端----html表单操作