目录
前言
- 不一定非要跟kuangbin大大的题单的,遇到想要学的东西,也可以自己去找题,去深入。
- 我发现现在不一定非要把字符串&dp&几何学得很精通,咋说呢?总是发现还有很多基础知识自己都还没搞通透,而且只学那三样的话,又迟迟没有行动,还不如想学啥就深入学,得空顺便把那三样学了(递进)。
- 对于很不熟悉的知识点,还是建议直接看题解(看懂),多见识一些题,多学会一些解题思路也是好的,不一定每一题都要死磕直到自己能独立想出来(对我而言)。
快意题海
洛谷题单
题目
洛谷官方题单
1. P3802 小魔女帕琪(“七重奏”个数期望)
- P3802 小魔女帕琪
- 题意:给定7个数
a
1
−
a
7
a_1-a_7
a1−a7,分别表示 i 属性魔法的个数,当有连续7个魔法属性都不一样的时候,能触发一次“七重奏”,求将魔法全部释放能触发的“七重奏”的数量的期望。
2.1 比如1 1 1 1 1 1 1触发“七重奏”的数量的期望位1.000。 - 题解:贼简单易懂:题解 P3802 【小魔女帕琪】
- 代码:
#include <bits/stdc++.h>
// #define int long long
using namespace std;
int a[10], n;
signed main() {
for (int i = 1; i <= 7; i++) cin >> a[i], n += a[i];
if (n < 7)
puts("0.000");
else {
double ans = 1.0 * (n - 6);
for (int i = 1; i <= 7; i++) {
ans *= 1.0 * i * a[i] / (n - i + 1);
}
printf("%.3lf\n", ans);
}
return 0;
}
2.P1297 [国家集训队]单选错位
3.P1654 OSU!
4.P1850 [NOIP2016 提高组] 换教室
5.P4316 绿豆蛙的归宿
6.P1199 [NOIP2010 普及组] 三国游戏
7.P1288 取数游戏II
8.P2197 【模板】nim 游戏
平常遇到的题目
1.2021牛客暑期多校训练营5-B Boxes(知道所有球是黑/白的代价期望)
-
题意:有n个球,每个球的颜色都不知道,但是只能是白球或者黑球。花费代价C可以知道剩下的没有翻开的球中黑球的个数,翻开每一个球 i 的代价为 w i w_i wi,求知道所有球的颜色的最小代价期望
2.1 数据范围。n为整数,C, w i w_i wi都为小数。
-
题解:
3.1 这种题,今后做不出来可以靠猜,很可能就是什么2^x,组合数什么的。
3.2 实在推球不出来,知道答案也推不出来,溜了。 -
我的思考&总结:
4.1double
能表示的范围:大概15-16位有效数字(不要与int,long long联系);float
只有大概6-7位emm(太鸡肋了)
补充:long double
精度大概为20位。也就是整数部分加小数部分大概最多20位是准确的。
4.2 **做不来靠猜???**可以 -
代码:
#include <bits/stdc++.h>
// #define int long long
#define dbg(x) cout << #x << "===" << x << endl
using namespace std;
const int N = 1e5 + 10;
// const double eps = -8;
// int sgn(double x) {
// if (fabs(x) < eps) return 0;
// return (x > 0) ? 1 : -1;
// }
int n;
double w[N], C;
double sum[N];
double f[N];
void init() {
f[1] = 0.5;
for (int i = 2; i < N; i++) f[i] = f[i - 1] * 0.5;
}
signed main() {
init();
cin >> n >> C;
for (int i = 1; i <= n; i++) cin >> w[i];
sort(w + 1, w + 1 + n);
for (int i = 1; i <= n; i++) sum[i] = sum[i - 1] + w[i];
double ans = C;
for (int i = 1; i <= n - 1; i++) ans += sum[i] * f[n - i];
ans = min(ans, sum[n]);
printf("%.8lf\n", ans);
return 0;
}