• “蔚来杯“2022牛客暑期多校训练营2 G、J、K


    J

    本质是个线性回归方程,高考数学概率期望题常考,要自己定义x,y坐标

    AC代码:

    1. #include
    2. #define rep(i,a,n) for(int i=a;i
    3. using namespace std;
    4. using LL = long long;
    5. void Solve() {
    6. int n;
    7. cin >> n;
    8. vector<int> a(n + 1);
    9. LL sum1 = 0, sum2 = 0;
    10. for (int i = 1; i <= n; i++) {
    11. cin >> a[i];
    12. sum1 += a[i];//y
    13. sum2 += i;//x
    14. }
    15. double cnt1, cnt2;
    16. cnt1 = 1.0 * sum1 / n;//y
    17. cnt2 = 1.0 * sum2 / n;//x
    18. double x = 0.0, y = 0.0;
    19. for (int i = 1; i <= n; i++) {
    20. x += (a[i] - cnt1) * (i - cnt2);//y x
    21. y += (i - cnt2) * (i - cnt2);//x x
    22. }
    23. double B = x / y, C;
    24. C = cnt1 - B * cnt2;
    25. double ans = 0.0;
    26. for (int i = 1; i <= n; i++) {
    27. ans += (B * i + C - a[i]) * (B * i + C - a[i]);
    28. }
    29. cout << fixed << setprecision(10) << ans << '\n';
    30. }
    31. int main() {
    32. ios::sync_with_stdio(false);
    33. cin.tie(nullptr);
    34. int T;
    35. cin >> T;
    36. rep (i, 0, T) {
    37. Solve();
    38. }
    39. return 0;
    40. }

    G

    求最长上升子序列和最长下降子序列的最长长度最小,就定义一个长度为n的上取整,可得最长长度最小

    AC代码:

    1. #include
    2. #define rep(i,a,n) for(int i=a;i
    3. using namespace std;
    4. using LL = long long;
    5. void Solve() {
    6. int n;
    7. cin >> n;
    8. int len = ceil(sqrt(n));
    9. int cnt = 0;
    10. while (cnt + len <= n) {
    11. cnt += len;
    12. for (int i = 0, j = cnt; i < len; i++, j--) {
    13. cout << j << " ";
    14. }
    15. }
    16. if (cnt == n) {
    17. cout << '\n';
    18. }
    19. else {
    20. for (int i = n; i > cnt; i--) {
    21. cout << i << " \n"[i == cnt + 1];
    22. }
    23. }
    24. }
    25. int main() {
    26. ios::sync_with_stdio(false);
    27. cin.tie(nullptr);
    28. int T;
    29. cin >> T;
    30. rep (i, 0, T) {
    31. Solve();
    32. }
    33. return 0;
    34. }

    K

    {dp_{i,j,k}}^{}表示前i位匹配j个且左括号比右括号多k个的方案数

    AC代码:

    1. #include
    2. #define rep(i,a,n) for(int i=a;i
    3. using namespace std;
    4. using LL = long long;
    5. const int mod = 1e9 + 7;
    6. int n, m, dp[210][210][210];//m->b,n->a
    7. void Solve() {
    8. cin >> n >> m;
    9. memset(dp, 0, sizeof(dp));
    10. string s;
    11. cin >> s;
    12. s = ' ' + s + ' ';
    13. dp[0][0][0] = 1;//empty
    14. for (int i = 0; i < m; i++) {//b
    15. for (int j = 0; j <= n; j++) {//a
    16. for (int k = 0; k <= i; k++) {//cnt->(
    17. if (!dp[i][j][k]) {//error
    18. continue;
    19. }
    20. if (s[j + 1] == '(') {//(
    21. dp[i + 1][j + 1][k + 1] = (dp[i][j][k] + dp[i + 1][j + 1][k + 1]) % mod;
    22. }
    23. else {
    24. dp[i + 1][j][k + 1] = (dp[i][j][k] + dp[i + 1][j][k + 1]) % mod;
    25. }
    26. if (k) {//)
    27. if (s[j + 1] == ')') {
    28. dp[i + 1][j + 1][k - 1] = (dp[i][j][k] + dp[i + 1][j + 1][k - 1]) % mod;
    29. }
    30. else {
    31. dp[i + 1][j][k - 1] = (dp[i][j][k] + dp[i + 1][j][k - 1]) % mod;
    32. }
    33. }
    34. }
    35. }
    36. }
    37. cout << dp[m][n][0] << '\n';
    38. }
    39. int main() {
    40. ios::sync_with_stdio(false);
    41. cin.tie(nullptr);
    42. int T;
    43. cin >> T;
    44. rep (i, 0, T) {
    45. Solve();
    46. }
    47. return 0;
    48. }

  • 相关阅读:
    KDChart3.0编译过程-使用QT5.15及QT6.x编译
    SAP MM学习笔记31 - 已割当供给元的购买依赖
    Spring MVC 中的国际化和本地化
    maven的安装与配置
    2022春季数据结构期末考试总结
    银行科技岗面试
    A预测蛋白质结构
    D. Vus the Cossack and Numbers
    基于Android的香格里拉美食分享APP/美食分享平台/基于android的美食平台
    Windows网络与通信程序设计实验一:基于TCP的C/S通信仿真
  • 原文地址:https://blog.csdn.net/eyuhaobanga/article/details/126116107