a:模擬
#includeusing namespace std;
int main()
return sum;
}int main()
return 0;
}
c:等差數列
#includeusing namespace std;
int main()
if(l > r) printf("0\n");
else
} return 0;
}
d:可以這麼立即 每次都要找乙個石頭堆來和平 肯定會先找最小的了 那麼再去第二小的石頭堆去合併 會發現最後就不取最大那個
#includeusing namespace std;
int main()
printf("%lld\n",count-max);
}return 0;
}
f :二分加字首和
#includeusing namespace std;
int t;
int n,m;
char s[100004];
int pre0[100004]; //0的字首
int pre1[100004]; //1的字首
// 二分區間
int main()
int l=1,r=n,mid;
while(l<=r)
}if(!flag)}}
if(!flag)
r=mid-1; //區間太長 滿足不了
else
}printf("%d\n",ans);
}// system("pause");
return 0;
}
2023年湘潭大學程式設計競賽(重現賽)A
icpc比賽中,誰通過的題數多,誰排名靠前 在通過題數相同的情況下,誰的罰時少,誰排名靠前 如果前兩者都相同,就看最後正確提交的時間,誰早最排名靠前。現在給你兩個隊伍的正確通過的題數 罰時和最後正確提交時間,請判斷一下,誰的排名更靠前?只有一組測試樣例,兩行,每行三個整數n 0 n 13 p 1 p...
2023年湘潭大學程式設計競賽(重現賽)B
bonnie得到了乙個數字n。現在她想對這個數字不斷的做一種操作 給定n,請問bonnie需要做多少次操作?第一行乙個數字t 1 t 300000 t 1 t 300000 樣例個數。每個樣例僅一行乙個數字n 1 n 109 n 1 n 109 每個樣例輸出一行乙個數字 bonnie需要做的操作次數...
2023年湘潭大學程式設計競賽(重現賽)F
你有乙個長度為 n 的 01 串s,你可以執行最多 m 次操作。對於每次操作,你可以選擇乙個位置 i 滿足 1 i n1 i n,翻轉這一位的值,0變成1,1變成0。定義乙個 01 串的價值為其中最長連續0的個數和最長連續1的個數的較大值,求s在經過最多m次操作後的最大價值。第一行乙個整數 t 表示...