首页 > 其他分享 >E - Critical Hit -- ATCODER

E - Critical Hit -- ATCODER

时间:2022-12-05 23:35:23浏览次数:38  
标签:ATCODER -- ll Critical https ans abc280 mod

E - Critical Hit

https://atcoder.jp/contests/abc280/tasks/abc280_e

 

REFERENCE

https://blog.csdn.net/sophilex/article/details/128169335

dp[i]=(dp[i-2]+1)*p/100+(dp[i-1]+1)*(1-p/100)

 https://atcoder.jp/contests/abc280/submissions/36968112

求逆模

https://blog.csdn.net/qq_41897386/article/details/82289975

让除法运算改成乘法运算

 

费马小定理(Fermat's little theorem)

假如 p 是质数,那么 a ^ (p-1) ≡ 1 (mod p) 。

推论: b ^ (p - 2) % p 即为 b mod p 的乘法逆元。

 

Code

https://atcoder.jp/contests/abc280/submissions/37047001

#define ll long long
 
int n, p;
const int mod = 998244353;
ll in;
 
map<ll, ll> cache;
 
ll ksm(ll x,ll y)
{
    ll ans=1;
    while(y)
    {
        if(y&1) ans=ans*x%mod;
        x=x*x%mod;
        y>>=1;
    }
    return ans;
}
 
ll inv(ll x)
{
    return ksm(x,mod-2);
}
 
ll e(ll n){
    if(cache[n] != 0){
        return cache[n];
    }
    
    if (n<=0){
        return 0;
    } else if(n == 1){
        return 1;
    }
    
    ll big = e(n-2);
    ll small = e(n-1);
    
    big *= p;
    small *= 100 - p;
 
    big %= mod;
    small %= mod;
 
    big *= in;
    small *= in;
 
    big %= mod;
    small %= mod;
 
    ll av = big + small + 1;
    av %= mod;
    
    cache[n] = av;
    
    return av;
}
 
int main()
{
    cin >> n;
    cin >> p;
 
    in=inv(100);
 
    cout << e(n) << endl;
 
    return 0;
}

 

标签:ATCODER,--,ll,Critical,https,ans,abc280,mod
From: https://www.cnblogs.com/lightsong/p/16953894.html

相关文章

  • 疫情解封后的攻略学习
    常识指导思想:免疫力第一,休息第二,吃药第三恢复时长,因人而异,有的3天,7天,有的更长长新冠:变种特有的,极少数,美国出现的有基础病和三高的需要多注意,早打加强针,蛋白质重组疫苗......
  • ArcObjects SDK开发 011 RasterLayer
    1、RasterLayer的结构图层的话,除了FeatureLayer外,用的最多的就是RasterLayer了。较FeatureLayer而言,RasterLayer比较简单,这点可以从栅格图层的属性对话框中可以看出。其......
  • 【Git】The Requested URL return error 403
    问题描述git执行push命令时提示:TheRequestedURLreturnerror403问题分析权限不够,仓库在创建后重装过电脑,管理员不同解决办法删库重开......
  • Git 私人的git和公司邮箱的新git账号&迁移github账号权限
    场景1:私人的git和公司邮箱的新git账号 我的例子: 我的GTB配置的是私人账号git,我的mac电脑配置的git的邮箱是个人邮箱账号, TWU(甲方)需要你提供一个git账号的信息来......
  • element-ui 中upload组件与表单组件的结合使用
    背景有的时候我们需要在表单中携带一些上传的附件传给服务器搭建基本表单结构<template><div><el-form:model="ruleForm":rules="rules"r......
  • 单例模式
    单例模式提供了一种创建对象的最佳方式这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建.这个类提供类一种访问唯一对象的方式,......
  • Demo Test
    Thisisademotask.Writeafunction:classSolution{publicintsolution(int[]A);}that,givenanarrayAofNintegers,returnsthesmallestpositivei......
  • 高速缓存的工作原理
    Cache的基本原理我们先来看一个简单的cache,处理器每次请求一个字,并且每个块由一个单独的字组成。下图展示了该简单cache在请求数据项(该数据项初始不在cache中)前后的状态。......
  • 为什么软件开发周期总是预估的2~3倍?
    为什么软件开发周期总是预估的2~3倍?(sohu.com)引子文章中对作者并没有直接回答这个问题,讲了一个旅行故事,来隐喻解释。作者在原文里讲到,旅人计划从从旧金山出发,沿着西海......
  • Comparable与Comparator
    Comparable与ComparatorGoods类packagecom.atguigu.java;​/***商品类*/publicclassGoodsimplementsComparable{​  privateStringname;  privatedo......