CodeForces - 1373
37763 단어 Codeforces
A - Donut Shops
1 , 2 , 1 2
b , 2 , 2 1
ll a,b,c;
int ans1,ans2,t;
int main()
{
scanf("%d",&t);
while(t--)
{
scanf("%lld%lld%lld",&a,&b,&c);
if (a*b>c)ans2=b;
else ans2=-1;
if (a<c)ans1=1;
else ans1=-1;
printf("%d %d
",ans1,ans2);
}
return 0;
}
B - 01 Game
0 1 , 0 1 ,
int t;
char s[maxn];
int main()
{
scanf("%d",&t);
while(t--)
{
int num0=0,num1=0;
scanf("%s",s);
repp(i,0,strlen(s))s[i]=='0'?num0++:num1++;
if (min(num0,num1)%2==0)printf("NET
");
else printf("DA
");
}
return 0;
}
C - Pluses and Minuses
now x cur
b[i]>now [now,b[i]-1] i,res i+1
int t,b[maxn];
char s[maxn];
int main()
{
scanf("%d",&t);
while(t--)
{
scanf("%s",s);
int sz=strlen(s),num1=0,num2=0,now=0;
ll res=sz;
repp(i,0,sz)s[i]=='+'?num1++:num2++,b[i]=num2-num1;
repp(i,0,sz)
{
if (b[i]<=now)continue;
res+=1ll*(b[i]-now)*(i+1);
now=b[i];
}
WW(res);
}
return 0;
}
D - Maximum Sum on Even Positions
제목: 짝수 위치의 수의 더하기 와 최대 가 먼저 명확 해 야 한다. 교체 구간 의 길 이 는 반드시 짝수 이 고 홀수 길이 의 구간 은 무의미 하 게 두 가지 예 를 들 어 이해 하기 쉽다.(5-6)=1
reverse 구간 의 실질 은 교환 구간 내의 인접 수 입 니 다. 이 인접 은 중첩 되 지 않 은 인접 가짜 설정 교환 구간 [1, 4] 이 고 변 화 량 은 (a 2 - a 1) + (a 4 - a 3) (a 4 - a 3) + (a 2 - a 1) + (a 4 - a 3) 또는 (a 1 - a 2) + (a 3 - a 4) (a 1 - a 4) + (a 3 - a 4) + (a 1 - a 2)
따라서 문 제 는 한 구간 을 선택 하 는 것 이 최대 필드 와 최대 필드 와 템 플 릿 을 사용 하 는 것 과 같 습 니 다. 두 가지 방향 이 있 음 을 주의 하 십시오.
int t,n,a[maxn];
int main()
{
scanf("%d",&t);
while(t--)
{
ll ans=0,ans1=0,ans2=0;
scanf("%d",&n);
rep(i,1,n)
{
scanf("%d",&a[i]);
if (i%2==1)ans+=a[i];
}
ll cnt=0;
for (int i=1;i<=n-1;i+=2)
{
if (cnt>0)cnt+=a[i+1]-a[i];
else cnt=a[i+1]-a[i];
ans1=max(ans1,cnt);
}
cnt=0;
for (int i=2;i<=n-1;i+=2)
{
if (cnt>0)cnt+=a[i]-a[i+1];
else cnt=a[i]-a[i+1];
ans2=max(ans2,cnt);
}
WW(ans+max(ans1,ans2));
}
return 0;
}
E - Sum of Digits
1. k=0 , , 9
2. x=0 , , map
3. n , “ x” , x n
4. n , 9, , , 8, 8 9, 。
, ,
。
typedef pair<ll,ll> P;
map<P,ll> M;
P tmp;
int t;
ll solve(ll x){ll res=0;while(x>0){res+=x%10;x/=10;}return res;}
ll qpow(ll a,ll b){ll res=1;while(b){if (b&1)res=res*a;b>>=1;a*=a;}return res;}
int main()
{
for (ll i=0;i<2000;i++)
{
for (ll j=0;j<=9;j++)
{
ll ans=0;
for (ll k=0;k<=j;k++)ans+=solve(i+k);
tmp.first=ans,tmp.second=j;
if (M[tmp]==0)M[tmp]=i;
else M[tmp]=min(M[tmp],i);
}
}
for (ll i=0;i<=9;i++)
{
for (ll j=0;j<=9;j++)
{
for (ll l=0;l<=1;l++)
{
for (ll k=0;k<=9;k++)
{
ll sum=k+j*qpow(10,i+l+1)+8*10*l;
for (ll p=1;p<=i;p++)sum+=9*qpow(10,p+l);
for (ll q=0;q<=9;q++)
{
ll ans=0;
for (ll c=0;c<=q;c++)ans+=solve(sum+c);
tmp.first=ans,tmp.second=q;
if (M[tmp]==0)M[tmp]=sum;
else M[tmp]=min(M[tmp],sum);
}
}
}
}
}
scanf("%d",&t);
while(t--)
{
scanf("%lld%lld",&tmp.first,&tmp.second);
if ((tmp.second+1)*tmp.second/2==tmp.first)W(0);
else if (tmp.second==0)
{
int num=tmp.first/9;
if (tmp.first%9!=0)printf("%d",tmp.first%9);
repp(i,0,num)printf("%d",9);
puts("");
}
else if (M[tmp]==0)W(-1);
else WW(M[tmp]);
}
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Codeforces 1287C Garland제목 링크:Codeforces 1287C Garland 사고방식: 우리기dp[i][j][0]와 dp[i][j][1]는 각각 i개가 홀수/짝수이고 앞의 i개 안에 j개의 짝수가 있는 상황에서 i개의 최소 복잡도.첫 번...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.