Codeforces Round #118 (Div. 2)


A題:題意理解に誤りがあり、貢献1 WA巨水を探す1題:2つの異なる文字の判断でB題:cmpを不注意に書く時第2の並べ替えに対して第1の並べ替え水題を書いて、sortはC題を解決します:数学の推定+べき乗の型取りの法則:f[n]=2^n-1+2^n-1*2^n;導きの過程で多項式が除ける技術を忘れてしまった.--><--
#include<stdio.h>
#define mod 1000000007
int Q_pow(__int64 n)
{
     if(n==0) return 1;
     if(n==1) return 2;
     __int64 sum=Q_pow(n/2);
     if(n%2) return (sum*sum*2)%mod;
     return (sum*sum)%mod;
}
int main()
{
    __int64 n;scanf("%I64d",&n);
    if(n==0) puts("1");
    else {
    __int64 sum=Q_pow(n-1);
    __int64 max=(sum+(sum*sum*2)%mod)%mod;
    printf("%I64d
",max); } return 0; }

D題:SとA B Cの4つの数はx^a*y^b*z^cの最大(x+y+z<=s)を求めて3分で検索することができて、できないことを表します;しかし聞いたところによると、まずACShiyuがラグランジュ関数で証明できることに感謝する定理があり、以下のようにhttp://www.science-mathematics.com/Mathematics/201110/16848.htm
    #include<stdio.h>
    int main()
    {
        int s,a,b,c;
        scanf("%d%d%d%d",&s,&a,&b,&c);
        if(a==0&&b==0&&c==0) puts("0.0 0.0 0.0");
        else
        {
          double ans=1.0*s/(a+b+c);
          printf("%.12f %.12f %.12f
",a*ans,b*ans,c*ans); } return 0; }

E:見てないし、たぶん