心路历程

预计得分:\(100 + 40 + 30 = 170\)

实际得分:\(100 +100 + 50 = 250\)

辣鸡数据毁我青春

T1一眼不会做感觉要凉

T2好像一波折半搜索就做完了

T3好像是神仙题不会做。。

打完T1暴力后去淦T2,结果最后在排序的时候把greater<LL>()写成了greater<int>(),不过感谢辣鸡数据放我一条活路。。

手玩了一下T1发现根本不需要决策,只算算期望就行了,然后大胆猜了个结论就不管了

这时候大概还剩\(1.5h\),感觉T3一定是个不可做题于是手动把难度加了两个档次。。

明明能\(O(1)\)算出来的我非要推个\(O(10^8)\)的组合数。于是就凉了。。

Sol

T1

直接算期望是对的。

证明的话可以设每个决策的概率然后算一下贡献。发现其中一种决策一定不会比另一种优

  1. #include<cstdio>
  2. #include<cstring>
  3. #include<algorithm>
  4. #include<iostream>
  5. using namespace std;
  6. const int MAXN = 1001, INF = 1e9 + 10;
  7. inline int read() {
  8. char c = getchar(); int x = 0, f = 1;
  9. while(c < '0' || c > '9') {if(c == '-') f = -1; c = getchar();}
  10. while(c >= '0' && c <= '9') x = x * 10 + c - '0', c = getchar();
  11. return x * f;
  12. }
  13. int N;
  14. double P[MAXN][MAXN], ans, f[MAXN][MAXN];
  15. int main() {
  16. freopen("game.in", "r", stdin);
  17. freopen("game.out", "w", stdout);
  18. N = read();
  19. for(int i = 1; i <= N; i++) for(int j = 0; j <= i - 1; j++) scanf("%lf", &P[i][j]);
  20. memset(f, 0, sizeof(f));
  21. f[0][0] = 1;
  22. for(int i = 1; i <= N; i++)
  23. for(int j = 0; j < i; j++)
  24. f[i][j + 1] += f[i - 1][j] * P[i][j],
  25. f[i][j] += f[i - 1][j] * (1 - P[i][j]);
  26. for(int i = 1; i <= N; i++) ans += i * f[N][i];
  27. printf("%.2lf", ans);
  28. return 0;
  29. }

T2

折半搜索板子题。。

  1. #include<cstdio>
  2. #include<cstring>
  3. #include<algorithm>
  4. #include<iostream>
  5. #include<vector>
  6. #define LL long long
  7. using namespace std;
  8. const int MAXN = 3e6 + 10, INF = 1e9 + 10, mod = 0;
  9. inline int read() {
  10. char c = getchar(); int x = 0, f = 1;
  11. while(c < '0' || c > '9') {if(c == '-') f = -1; c = getchar();}
  12. while(c >= '0' && c <= '9') x = x * 10 + c - '0', c = getchar();
  13. return x * f;
  14. }
  15. LL N, M, st[2][MAXN], t[2], a[MAXN];
  16. vector<LL> res;
  17. void dfs(int x, int Lim, LL val, int opt) {
  18. if(x == Lim) {st[opt][++t[opt]] = val; return ;}
  19. dfs(x + 1, Lim, val + res[x], opt);
  20. dfs(x + 1, Lim, val, opt);
  21. }
  22. void solve(int l, int r, int opt) {
  23. res.clear();
  24. for(int i = l; i <= r; i++) res.push_back(a[i]);
  25. dfs(0, res.size(), 0, opt);
  26. }
  27. int main() {
  28. freopen("cake.in", "r", stdin);
  29. freopen("cake.out", "w", stdout);
  30. N = read(); M = read();
  31. for(int i = 1; i <= N; i++) a[i] = read();
  32. int mid = N / 2;
  33. solve(1, mid, 0); solve(mid + 1, N, 1);
  34. sort(st[0] + 1, st[0] + t[0] + 1, greater<int>());
  35. sort(st[1] + 1, st[1] + t[1] + 1);
  36. int j = 1; LL ans = 0;
  37. for(int i = 1; i <= t[0]; i++) {
  38. while((j + 1 <= t[1]) && (st[0][i] + st[1][j + 1] <= M)) j++;
  39. if(st[0][i] + st[1][j] <= M) ans = max(ans, st[0][i] + st[1][j]);
  40. }
  41. cout << M - ans;
  42. return 0;
  43. }

T3

比着学弟的代码抄了一下午发现他写的是假的qwq

心态爆炸。。

11.5NOIP模拟赛解题报告的更多相关文章

  1. 11.1NOIP模拟赛解题报告

    心路历程 预计得分:\(100 + 100 + 50\) 实际得分:\(100 + 100 + 50\) 感觉老师找的题有点水呀. 上来看T1,woc?裸的等比数列求和?然而我不会公式呀..感觉要凉 ...

  2. 11.7NOIP模拟赛解题报告

    心路历程 预计得分:\(50 + 100 + 100\) 实际得分:\(50 + 100 +100\) T2 T3两道数据结构题美滋滋,然而写完就过去\(3h\)美滋滋 T1数学题学弟们都会做Orzz ...

  3. 11.6NOIP模拟赛解题报告

    心路历程 预计得分:\(100 + 100 + 100 = 300\) 实际得分:\(100 +100 +100 = 300\) 学OI两年终于AK了一次qwq(虽然题目炒鸡水..) 纪念一下这令人激 ...

  4. 10.30 NFLS-NOIP模拟赛 解题报告

    总结:今天去了NOIP模拟赛,其实是几道USACO的经典的题目,第一题和最后一题都有思路,第二题是我一开始写了个spfa,写了一半中途发现应该是矩阵乘法,然后没做完,然后就没有然后了!第二题的暴力都没 ...

  5. 20201101gryz模拟赛解题报告

    写在前面 2020rp++ 停课的第一场模拟赛 拿上一年的上一年的day1来考的, 结果得分期望220pts,实际135pts,rank3,太菜了 考着考着机房灯突然灭了,当时慌的一批 以为断电代码要 ...

  6. 2018.10.26NOIP模拟赛解题报告

    心路历程 预计得分:\(100 + 100 + 70\) 实际得分:\(40 + 100 + 70\) 妈妈我又挂分了qwq..T1过了大样例就没管,直到临考试结束前\(10min\)才发现大样例是假 ...

  7. 2018.10.17NOIP模拟赛解题报告

    心路历程 预计得分:\(100 + 100 +100\) 实际得分:\(100 + 100 + 60\) 辣鸡模拟赛.. 5min切掉T1,看了一下T2 T3,感觉T3会被艹爆因为太原了.. 淦了20 ...

  8. 2018.10.16 NOIP模拟赛解题报告

    心路历程 预计得分:\(100 + 100 + 20 = 220\) 实际得分:\(100 + 100 + 30 = 230\) 辣鸡模拟赛.. T1T2都是一眼题,T3考验卡常数还只有一档暴力分. ...

  9. 20201115gryz模拟赛解题报告

    写在前面 T1:期望100pts,实际0pts(7:50 ~ 8:50 T2:期望0pts,实际0pts(10:00 ~ 10:35 T3:期望20pts,实际40pts( 9:10 ~ 10:00, ...

随机推荐

  1. vue中npm run dev 不能自动打开浏览器运行项目

    最近用vue2.0 + webpack搭建了环境创建新的项目.出现一个很蹩脚的问题: 在终端输入 npm run dev 的时候,不能自动打开浏览器运行项目. 这段话的意思是:你的应用程序运行地址是: ...

  2. WinForm GDI编程:Graphics画布类

    命名空间: using System.Drawing;//提供对GDI+基本图形功能的访问 using System.Drawing.Drawing2D;//提供高级的二维和矢量图像功能 using ...

  3. Java_方法的基本语法格式

    [修饰符] 返回值类型 方法名称([参数列表]){ 方法体 } [ ]中的内容是可有可无的 暂时将方法的修饰符编写为 public static 返回值类型有两种情况 : 第一种:无返回值类型,也就是 ...

  4. 用PL/sql连接oracle 弹窗出现 could not resolve the connect identifier specified 这个错误

    1 错误如下图: 图1 2.可能原因: 配置oracle客户端中tnsnames.ora文件时,把数据库名弄错,如下图: 图2 箭头所指位置出错.箭头处应该为我们安装时的数据库名(通常是orcl).而 ...

  5. Struts2注解详解

    一,引入支持Struts2支持注解开发jar包: struts2-convention-plugin-2.1.8.1.jar(支持Struts2框架注解开发的jar包) 二,Struts2使用注解开发 ...

  6. 027-MyBatis相关配置模板

    SqlMapConfig.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE confi ...

  7. mongodb数据库还原

    ./mongorestore -h -u myhuiqu -p Huiqu.com@ --authenticationDatabase /

  8. Redis介绍与安装

    一.redis简介 (一)什么是redis 1.redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value 内存数据库. 2.特点:读写性能强悍 支持丰 ...

  9. Python基础(9) - 类

    Python 看下面一个简单类: >>> class MyClass(object): ... """ ... this is a class with ...

  10. Python基础(8) - 模块

    Python 模块的物理形式就是文件:一个文件对应一个模块.文件名就是模块名+.py 模块定义了自己独有的命名空间.在其定义的属性,函数,类都隶属于该空间. 通过import关键字我们可以导入模块: ...