2019nc#2

A Eddy Walker

题意

你有n个点(0~n-1),按顺序形成一个环,初始时你在0的位子,你随机顺时针走一步或者逆时针走一步,

一旦你走到一个点后,环上所有点都被经过至少一次后,你就必须停下来。

问你最后停留在m这个位子的概率是多少。

思路

有意思的概率题。

读懂题意后发现这道题不难,模拟下可以发现在最后落在(1~n-1)的位子是等概率的,落在0这个位子是不可能的(除非n==1)。

#include <iostream>
#include <vector>
#include <queue>
#include <algorithm>
using namespace std;
#define pb push_back
#define fi first
#define se second
#define debug(x) cerr<<#x << " := " << x << endl;
#define bug cerr<<"-----------------------"<<endl;
#define FOR(a, b, c) for(int a = b; a <= c; ++ a)

typedef long long ll;
typedef long double ld;
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;

template<class T> void _R(T &x) { cin >> x; }
void _R(int &x) { scanf("%d", &x); }
void _R(ll &x) { scanf("%lld", &x); }
void _R(double &x) { scanf("%lf", &x); }
void _R(char &x) { scanf(" %c", &x); }
void _R(char *x) { scanf("%s", x); }
void R() {}
template<class T, class... U> void R(T &head, U &... tail) { _R(head); R(tail...); }

template<typename T>
inline T read(T&x){
    x=0;int f=0;char ch=getchar();
    while (ch<‘0‘||ch>‘9‘) f|=(ch==‘-‘),ch=getchar();
    while (ch>=‘0‘&&ch<=‘9‘) x=x*10+ch-‘0‘,ch=getchar();
    return x=f?-x:x;
}

const int inf = 0x3f3f3f3f;

const int mod = 1e9+7;

/**********showtime************/
            ll ksm(ll a, ll b) {
                ll res = 1;
                while(b > 0) {
                    if(b & 1) res = res * a % mod;
                    a = a * a % mod;
                    b = b >> 1;
                }
                return res;
            }
int main(){
            int T;  scanf("%d", &T);
            ll res = 1;
            while(T--){
                ll n,m;
                scanf("%lld%lld", &n, &m);
                if(n == 1 && m == 0) res = res;
                else {
                    if(m == 0) res = res * 0;
                    else {
                        res = res * ksm(n-1, mod-2) % mod;
                    }
                }
                printf("%lld\n", res);
            }

            return 0;
}

B Eddy Walker 2

D Kth Minimum Clique

E MAZE

F Partition problem

比赛时过的,双向搜索降低复杂度(队友搞的,我还没搞)

I Inside A Rectangle

H Second Large Rectangle

比赛时过的。DP出面积,找出次大的

(队友搞的,我还没搞)

J Subarray

原文地址:https://www.cnblogs.com/ckxkexing/p/11219612.html

时间: 2024-10-30 07:58:16

2019nc#2的相关文章

2019nc#3

题号 标题 已通过代码 题解/讨论 通过率 团队的状态 A Graph Games 点击查看 进入讨论 18/292 未通过 B Crazy Binary String 点击查看 1107/3615  通过 C Guessing ETT 点击查看 进入讨论 9/81 未通过 D Big Integer 点击查看 进入讨论 183/1973 未通过 E Trees in the Pocket II 点击查看 进入讨论 1/8 未通过 F Planting Trees 点击查看 枚举上下边界 326

2019nc#4

题号 标题 已通过代码 题解 通过率 团队的状态 A meeting 点击查看 树直径 604/2055  通过 B xor 点击查看 线段树维护线性基交 81/861 未通过 C sequence 点击查看 单调栈 479/2755  通过 D triples I 点击查看 构造 464/2974  通过 E triples II 点击查看 进入讨论 35/84 未通过 F merge 点击查看 splay 4/37 未通过 G tree 点击查看 进入讨论 2/43 未通过 H RNGs 点

2019NC#8

题号 标题 已通过代码 题解/讨论 通过率 团队的状态 A All-one Matrices 点击查看 单调栈+前缀和 326/2017  通过 B Beauty Values 点击查看 进入讨论 827/1995  通过 C CDMA 点击查看 进入讨论 669/1115  通过 D Distance 点击查看 进入讨论 37/554 未通过 E Explorer 点击查看 可修改并查集,LCT 83/920 未通过 F Flower Dance 点击查看 进入讨论 13/121 未通过 G

2019nc#10

题号 标题 已通过代码 题解/讨论 通过率 团队的状态 A Blackjack 点击查看 进入讨论 32/109 未通过 B Coffee Chicken 点击查看 进入讨论 738/2992  通过 C Gifted Composer 点击查看 进入讨论 12/64 未通过 D Han Xin and His Troops 点击查看 进入讨论 602/4072  通过 E Hilbert Sort 点击查看 进入讨论 508/1681  通过 F Popping Balloons 点击查看 进