UVA10271
Posted towboa
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UVA10271相关的知识,希望对你有一定的参考价值。
定义一个三元组(a,b,c)(a⩽b⩽c), 它的权值为 (a−b)^2,
给定 n(n⩽5000)n(n⩽5000) 个数,要求选出 k+8 个三元组,使得这k+8个三元组权值和最小。
输入数据是单调递增的。
#include <iostream> #include <algorithm> #include <cstring> #include <cmath> using namespace std; const int N=5004; const int inf =1e9 ; #define int long long int n,m,a[N],f[N][N]; inline int pow2(int x)return x*x; void sov() int i,j;for(i=n;i;i--) cin>>a[i]; memset(f,127,sizeof f); for(i=n;i;i--) f[i][0]=0; for(i=1;i<=n;i++) for(j=1;j<=m;j++) if(j*3<=i) f[i][j]=min(f[i-2][j-1]+pow2(a[i]-a[i-1]), f[i-1][j]); cout<<f[n][m]<<endl; signed main() int tes;cin>>tes; while(tes--) cin>>m>>n;m+=8; sov();
uva 1583 Digit Generator(Uva-1583)
??????????????? || ????????? ?????? ble efi ?????? ?????? iostream
????????????????????????vj???https://vjudge.net/problem/UVA-1583#author=0
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????0.
???????????????????????????????????????for?????????????????????1e5.????????????5???9????????????45????????????stringstream??????????????????????????????????????????????????????
?????????break?????????????????????????????????
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
?????????
#include <iostream> using namespace std; #define max 100010 int a[max]; main() { for(int i=1;i<max;i++) { int x=i;int y=i; while(x) {y+=x%10;x/=10;} if(a[y]==0||i<a[y]) a[y]=i; } int p,b; cin>>p; while(p--) { cin>>b; cout<<a[b]<<endl; } }
??????????????????????????????????????????????????????
以上是关于UVA10271的主要内容,如果未能解决你的问题,请参考以下文章