Kejin Player 期望DP

题意:

初始等级为1,每一级有四个参数 r , s , x , a 。

每一级有一个概率p=r/s花费a的代价升级到下一级,失败可能会倒退到x级

设从 l 到 r 的期望为 g(l, r), 这种期望满足减法 g(l, r) = g(1, r) − g(1, l).

因为升级只能一级一 级升, 所以要从 1 升级到 r, 必然要经过 l.

求一个前缀和

sum[i+1]=sum[i]+ai * si / ri + (sum[i]-sum[x])*(si-ri)/ri;

ai * si / ri + (sum[i]-sum[x])*(si-ri)/ri  这个类似于二项分布

一个是升到下一级的花费,一个是失败后回到 i 这一级的花费

 #include <set>
#include <map>
#include <stack>
#include <queue>
#include <cmath>
#include <cstdio>
#include <string>
#include <vector>
#include <time.h>
#include <cstring>
#include <iostream>
#include <algorithm>
#include <unordered_map> #define pi acos(-1.0)
#define eps 1e-9
#define fi first
#define se second
#define rtl rt<<1
#define rtr rt<<1|1
#define bug printf("******\n")
#define mem(a, b) memset(a,b,sizeof(a))
#define name2str(x) #x
#define fuck(x) cout<<#x" = "<<x<<endl
#define sf(n) scanf("%d", &n)
#define sff(a, b) scanf("%d %d", &a, &b)
#define sfff(a, b, c) scanf("%d %d %d", &a, &b, &c)
#define sffff(a, b, c, d) scanf("%d %d %d %d", &a, &b, &c, &d)
#define pf printf
#define FIN freopen("../date.txt","r",stdin)
#define gcd(a, b) __gcd(a,b)
#define lowbit(x) x&-x
#define IO iOS::sync_with_stdio(false) using namespace std;
typedef long long LL;
typedef unsigned long long ULL;
const int maxn = 1e6 + ;
const int maxm = 8e6 + ;
const int INF = 0x3f3f3f3f;
const int mod = 1e9 + ; LL expmod(LL a, LL b) {
LL res = ;
while (b) {
if (b & ) res = res * a % mod;
a = a * a % mod;
b = b >> ;
}
return res;
} int t, n, q;
struct node {
LL r, s, x, a;
} qu[maxn];
LL sum[maxn]; int main() {
//FIN;
sf(t);
while (t--) {
sff(n, q);
for (int i = ; i <= n; i++) scanf("%lld%lld%lld%lld", &qu[i].r, &qu[i].s, &qu[i].x, &qu[i].a);
sum[] = ;
for (int i = ; i <= n; i++) {
sum[i + ] = sum[i] + qu[i].s * expmod(qu[i].r, mod - ) % mod * qu[i].a % mod +
(qu[i].s - qu[i].r + mod) % mod * expmod(qu[i].r, mod - ) % mod *
(sum[i] - sum[qu[i].x] + mod) % mod;
// printf("sum[%d] = %d\n", i + 1, sum[i + 1]);
sum[i+]%=mod;
}
while (q--) {
int L, R;
sff(L, R);
printf("%lld\n", (sum[R] - sum[L]+mod)%mod);
}
}
return ;
}

Final Exam 思维题

题意:

有n个题目,每个题目的分数总和为m,你不知道哪个题目的分数是多少。

一个题目的分数是X,则你最少需要X+1的时间才能做出这一个问题。

每一题的分数范围都是【0,m】

问你保证回答出k个问题的最小代价是多少。

因为每一题的分数未知,你无法知道前K个问题的最小代价和。

考虑极端情况,假设你要问答K个问题,有K-1的都是0分,剩下的问题总分是m分,

如何保证一定可以回答出K个问题呢

那就是对于剩下的n-k+1个问题都复习m/(n-k+1)+1小时,

其实就是你保证你剩下的n-k+1的问题复习m小时以上(这样你这个n-k+1个问题里面你至少可以做出来一个)

这个可以保证这n个问题无论你选哪一个都有K个你做的出。

完全不会分析,流下了菜鸡的眼泪。

 #include <bits/stdc++.h>
#include <cstdio>
#include <cstring>
#include <queue>
#include <cmath>
#include <algorithm>
#include <set>
#include <iostream>
#include <map>
#include <stack>
#include <string>
#include <time.h>
#include <vector> #define pi acos(-1.0)
#define eps 1e-9
#define fi first
#define se second
#define rtl rt<<1
#define rtr rt<<1|1
#define bug printf("******\n")
#define mem(a, b) memset(a,b,sizeof(a))
#define name2str(x) #x
#define fuck(x) cout<<#x" = "<<x<<endl
#define sf(n) scanf("%d", &n)
#define sff(a, b) scanf("%d %d", &a, &b)
#define sfff(a, b, c) scanf("%d %d %d", &a, &b, &c)
#define sffff(a, b, c, d) scanf("%d %d %d %d", &a, &b, &c, &d)
#define pf printf
#define FRE(i, a, b) for(i = a; i <= b; i++)
#define FREE(i, a, b) for(i = a; i >= b; i--)
#define FRL(i, a, b) for(i = a; i < b; i++)+
#define FRLL(i, a, b) for(i = a; i > b; i--)
#define FIN freopen("../date.txt","r",stdin)
#define gcd(a, b) __gcd(a,b)
#define lowbit(x) x&-x
#define rep(i, a, b) for(int i=a;i<b;++i)
#define per(i, a, b) for(int i=a-1;i>=b;--i) using namespace std;
typedef long long LL;
typedef unsigned long long ULL;
const int maxn = 3e3 + ;
const int maxm = 8e6 + ;
const int INF = 0x3f3f3f3f;
const int mod = ; int t;
LL n, m, k; int main() {
sf(t);
while (t--) {
scanf("%lld%lld%lld", &n, &m, &k);
printf("%lld\n", m + k + (k - ) * (m / (n - k + )));
}
return ;
}

2019 Multi-University Training Contest 7 Kejin Player Final Exam的更多相关文章

  1. 2019 Multi-University Training Contest 7 Kejin Player 期望dp

    题目传送门 题意:有n个等级,在每个等级花费$ai$的代价有$pi$的几率升到$i+1$级,$1-pi$的概率降级降到$xi$(xi<=i),给出q次询问,每次询问从$l$级到$r$级的代价的期 ...

  2. 2019 Multi-University Training Contest 7 Kejin Player(期望)

    题意:给定在当前等级升级所需要的花费 每次升级可能会失败并且掉级 然后q次询问从l到r级花费的期望 思路:对于单次升级的期望 我们可以列出方程: 所以我们可以统计一下前缀和 每次询问O1回答 #inc ...

  3. 2019 Nowcoder Multi-University Training Contest 4 E Explorer

    线段树分治. 把size看成时间,相当于时间 $l$ 加入这条边,时间 $r+1$ 删除这条边. 注意把左右端点的关系. #include <bits/stdc++.h> ; int X[ ...

  4. 2019 Nowcoder Multi-University Training Contest 1 H-XOR

    由于每个元素贡献是线性的,那么等价于求每个元素出现在多少个异或和为$0$的子集内.因为是任意元素可以去异或,那么自然想到线性基.先对整个集合A求一遍线性基,设为$R$,假设$R$中元素个数为$r$,那 ...

  5. 2019 Multi-University Training Contest 7

    2019 Multi-University Training Contest 7 A. A + B = C 题意 给出 \(a,b,c\) 解方程 \(a10^x+b10^y=c10^z\). tri ...

  6. 2019 Multi-University Training Contest 8

    2019 Multi-University Training Contest 8 C. Acesrc and Good Numbers 题意 \(f(d,n)\) 表示 1 到 n 中,d 出现的次数 ...

  7. 2019 Multi-University Training Contest 1

    2019 Multi-University Training Contest 1 A. Blank upsolved by F0_0H 题意 给序列染色,使得 \([l_i,r_i]\) 区间内恰出现 ...

  8. 2019 Multi-University Training Contest 2

    2019 Multi-University Training Contest 2 A. Another Chess Problem B. Beauty Of Unimodal Sequence 题意 ...

  9. 2019 Multi-University Training Contest 5

    2019 Multi-University Training Contest 5 A. fraction upsolved 题意 输入 \(x,p\),输出最小的 \(b\) 使得 \(bx\%p&l ...

随机推荐

  1. C# 与 C/C++ 网络传输字符串解决方案

    { 不管你的数据加没加密,只要有中文,请转16进制后再处理,把16进制再转为GB2312的byte再发送, 接收的话同样 c++ 发送时转16进制再发送,c#16进制转字符串后再转GB2312就可以了 ...

  2. HTML5布局篇

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <title> ...

  3. bzoj1003题解

    [题意分析] 给你一张无向图,固定起点和终点,除这两点外每个点都有可能消失一段时间(保证起点和终点相互可达),每天选择的路径总长,以及对路径的修改都有代价,求给定时间内最小代价保证起点终点始终连通. ...

  4. CSS 圣杯布局

    前端的两个经典布局想必大家都有多了解--圣杯布局和双飞翼布局,因为它既能体现你懂HTML结构又能体现出你对DIV+CSS布局的掌握. 事实上,圣杯布局其实和双飞翼布局是一回事.它们实现的都是三栏布局, ...

  5. class8_Canvas 画布

    最终的部分运行效果图(程序见序号4): #!/usr/bin/env python# -*- coding:utf-8 -*-# ----------------------------------- ...

  6. 20140422 ALT+F8 四个强制类型转换

    一.static_cast, dynamic_cast, const_cast http://www.cnblogs.com/chio/archive/2007/07/18/822389.html h ...

  7. Adobe Fireworks CS6 win64的安装

    网页三大剑客之一    FW的安装 本人也是找了半天才找到的. (没有视频)这里先感谢原帖给我的链接https://blog.csdn.net/qq_38053395/article/details/ ...

  8. webpack3

    6月20号webpack推出了3.0版本,官方也发布了公告.根据公告介绍,webpack团队将未来版本的改动聚焦在社区提出的功能需求,同时将保持一个快速.稳定的发布节奏.本文主要依据公告内容,简单介绍 ...

  9. 《转》python对象

    http://www.cnblogs.com/BeginMan/p/3160044.html 一.学习目录 1.pyhton对象 2.python类型 3.类型操作符与内建函数 4.类型工厂函数 5. ...

  10. Pathfinding 模板题 /// BFS oj21413

    题目大意: Description Bessie is stranded on a deserted arctic island and wants to determine all the path ...