题目描述: D. Intercity Travelling time limit per test 1.5 seconds memory limit per test 256 megabytes input standard input output standard output Leha is planning his journey from Moscow to Saratov. He hates trains, so he has decided to get from one city…
题目链接 题目大意: 一个人要从$A$地前往$B$地,两地相距$N$千米,$A$地在第$0$千米处,$B$地在第$N$千米处. 从$A$地开始,每隔$1$千米都有$\dfrac{1}{2}$的概率拥有一个休息点, 如果这个地方有休息点的话,这个人就可以在此地休息,起点处(即第$0$千米处)一定是一个休息点. 如果这个人在最近一次休息后行驶了$i$千米,那么他将有$\sum_{j=1}^ia_i$疲劳值. 给出$N$与$a_i(i$为整数且$i\in[1,N])$,求这个人到达$B$地后拥有的疲劳…
题面在这里! 可以发现全是求和,直接拆开算贡献就好了 #include<bits/stdc++.h> #define ll long long using namespace std; const int ha=998244353,N=1e6+5; inline int read(){ int x=0; char ch=getchar(); for(;!isdigit(ch);ch=getchar()); for(;isdigit(ch);ch=getchar()) x=x*10+ch-'0'…
1009 E. Intercity Travelling 题意:一段路n个点,走i千米有对应的a[i]疲劳值.但是可以选择在除终点外的其余n-1个点休息,则下一个点开始,疲劳值从a[1]开始累加.休息与不休息等概率,设疲劳值总和的期望为p,求p*2n-1 思路:由于期望乘上了2n-1,所以数学意义就是求所有休息情况下的疲劳值总和.问题转化为,每种疲劳出现的次数Ni.网上题解大多数从组合数的角度计数,可能是我理解能力不够,总觉得讲的不太严谨,推导的过程略显随意,更多像是找规律的结果.琢磨了一会,觉…
E. Intercity Travelling time limit per test 1.5 seconds memory limit per test 256 megabytes input standard input output standard output Leha is planning his journey from Moscow to Saratov. He hates trains, so he has decided to get from one city to an…
大意: 有一段$n$千米的路, 每一次走$1$千米, 每走完一次可以休息一次, 每连续走$x$次, 消耗$a[1]+...+a[x]$的能量. 休息随机, 求消耗能量的期望$\times 2^{n-1}$. 简单计数题, 枚举每种长度的贡献. #include <iostream> #include <algorithm> #include <cstdio> #define REP(i,a,n) for(int i=a;i<=n;++i) using namesp…
题目链接:http://codeforces.com/contest/1009/problem/E 解题心得: 一个比较简单的组合数学,还需要找一些规律,自己把方向想得差不多了但是硬是找不到规律,还是看了大佬博客才知道的规律.这个题要预先处理2的n次方,不然快速幂也会TLE. 推荐两个大佬的博客: https://blog.csdn.net/u010746456/article/details/81057082 https://blog.csdn.net/hyp1231/article/deta…
题目链接 大意:一段旅途长度N,中间可能存在N-1个休息站,连续走k长度时,疲劳值为a1+a2+...+aka_1+a_2+...+a_ka1​+a2​+...+ak​,休息后a1a_1a1​开始计,设PPP为疲劳值的期望,问p∗2n−1取模998244353p*2^{n-1}取模998244353p∗2n−1取模998244353的答案. 转自链接 求出每个疲劳值的使用概率,加在一起,乘一下就行了. #include<bits/stdc++.h> #define LL long long #…
http://codeforces.com/problemset/problem/149/D 题意: 给一个给定括号序列,给该括号上色,上色有三个要求 1.只有三种上色方案,不上色,上红色,上蓝色 2.每对括号必须只能给其中的一个上色 3.相邻的两个不能上同色,可以都不上色 求0-len-1这一区间内有多少种上色方案 思路:dp[l][r][i][j]表示从l到r的长度且左右括号分别是i j的方案数 那么转移方程: 1:l+1=r时, dp[l][r][0][1]=1;       dp[l][…
题意:有一个字符串 s. 这个字符串是一个完全匹配的括号序列.在这个完全匹配的括号序列里,每个括号都有一个和它匹配的括号 你现在可以给这个匹配的括号序列中的括号染色,且有三个要求: 每个括号只有三种情况,不上色,上红色,上蓝色. 每对括号必须只能给其中的一个上色,且必须给一个上色 相邻的两个不能上同色,可以都不上色 求满足条件的括号序列染色的方法数 假设不染色为0,另外两种色为1,2 那对于一个匹配的括号对来说,只允许(1,0),(2,0),(0,1),(0,2) 定义\(f[l][r][i][…