首页 > 其他分享 >十月做题记录

十月做题记录

时间:2022-10-01 10:34:42浏览次数:75  
标签:10 return 记录 int 十月 ans calc DP

10月1日

CF54C

\(CF54C First Digit Law\)

\(Solution:\) 概率\(DP\) + 期望\(DP\)。 由简单数位 \(DP\) 可得到第 \(i\) 个数为 \(1\) 开头的概率。设 \(f[i][j]\) 表示前 \(i\) 个数有 \(j\) 个 \(1\) 开头的概率,\(f_{i,j} = p_if_{i-1,j-1} + (1-p_i)f_{i-1,j}\) 转移即可。


const int N = 1e3 + 10;
int n, k, l, r; double g[N], f[N]; int p[N];

inline int calc(int x){
    if(x == 0) return 0;
    p[0] = 1; for(int i = 1; i <= 18; i ++) p[i] = p[i - 1] * 10; int X = x;
    vector<int> a; while(x) a.push_back(x % 10), x /= 10;
    int l = a.size() - 1, ans = 0;
    for(int i = 0; i < l; i ++) ans += p[i]; if(a[l] == 1) ans += X - p[l] + 1;
    else ans += p[l]; return ans;
}
inline double solve(int x, int y){ return (calc(x) - calc(y - 1)) * 1.0 / (x - y + 1); }
 
signed main(){
    read(n); for(int i = 1, l, r; i <= n; i ++){ read(l), read(r); g[i] = solve(r, l); }
    int tem, m; read(tem); m = ceil(tem * n * 1.0 / 100); f[0] = 1;
    for(int i = 1; i <= n; i ++) for(int j = n; j >= 0; j --)
        f[j] = f[j] * (1 - g[i]) + (j > 0) * f[j - 1] * g[i];
    double ans = 0; for(int i = m; i <= n; i ++) ans += f[i]; printf("%.9g", ans);
}

标签:10,return,记录,int,十月,ans,calc,DP
From: https://www.cnblogs.com/William-Sg/p/16746865.html

相关文章

  • C++_Windows Socket 学习记录_01
    主要实现服务器-服务器传输消息Server.cpp#include<stdio.h>#include<stdlib.h>#include<WinSock2.h>#include<iostream>#pragmacomment(lib,"ws2_32.lib")us......
  • WVP ZLMediaKit搭建记录
    ZLMediaKit地址:https://github.com/ZLMediaKit/ZLMediaKitWVP地址:https://github.com/648540858/wvp-GB28181-pro ZLMediaKit开启SSL1.查看ZLMediaKit配置文件中的SSL......
  • 变式参数,简单记录一下而已
    干货铺QQ群号:834508274使用变式作为参数的时候,一般来说是配置job的时候使用。另外一种是TCODE的时候。配job就不提了,自己上网搜。另外有时候需要在程序里读变式参数: CALL ......
  • window乱七八糟记录
    1.设置开机启动项winrshell:startup(即C:\Users\79481\AppData\Roaming\Microsoft\Windows\StartMenu\Programs\Startup)放入exe或快捷方式即可任务管理器启动项2......
  • Python Markdown解析利器----mistune详细用法记录
    @目录小试牛刀开始使用mistunemistune简单使用mistune高级用法(自定义mistune)mistune中插件插件使用方法(以删除线(strikethrough)为例)插件包名内置插件删除线(striket......
  • Python dataframe 处理记录
    1、分组求和importpandasaspdfromdatetimeimportdatetime,timedeltadata=pd.DataFrame({"company":["A","A","A","A","A","A","A","A","A......
  • iMazing传输 iPhone 备忘录和通话记录功能
    对于经常需要进行客户联系的业务员来说,通过整理通话记录,能够统计到拜访客户的次数、效果等数据。如果是通过手动统计的方式,将耗费大量的时间与精力。iMazing为苹果设备用户......
  • 【Atlas】记录一次平台访问Post数据到阿里云概率性 失败的问题排查
    背景2周前,对阿里云上的web服务增加了HTTPS的支持,原因是Google对于安全的验证需求导致请求经常挂掉,页面无数据或者整个页面被白屏的问题;然后做好变更后,开发人员就离......
  • pytorch中神经网络的学习记录
    (记录疑惑点,部分内容省略)神经网络的构造:Module类是nn模块里提供的一个模型构造类,是所有神经⽹网络模块的基类,我们可以继承它来定义我们想要的模型。多层感知机(MLP类)重载......
  • vs2022 生成低版本代码遇到的问题记录
    因个人电脑误删数据,导致工作相关文件都被删除。重新安装系统,重新安装了高版本的VS2022。在进行项目处理时遇到如下两个与nuget相关问题,记录。1.项目使用nuget恢复包,选择恢......