码迷,mamicode.com
首页 > Windows程序 > 详细

2019nc#2

时间:2019-07-20 23:22:33      阅读:186      评论:0      收藏:0      [点我收藏+]

标签:const   return   minimum   必须   debug   --   ios   main   img   

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;
}
View Code

 B Eddy Walker 2

 

D Kth Minimum Clique

 

E MAZE

F Partition problem

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

I Inside A Rectangle

H Second Large Rectangle

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

(队友搞的,我还没搞)

J Subarray

2019nc#2

标签:const   return   minimum   必须   debug   --   ios   main   img   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!