AtCoder ABC156

C - Rally
从0到100模拟一遍位置最小的点
最小值实际上可以计算导数,将复杂度降为 O ( 1 ) O(1) O(1)

D - Bouquet
组合数 2 n − 1 − C ( n , a ) − C ( n , b ) 2^{n}-1-C(n,a)-C(n,b) 2n1C(n,a)C(n,b)
由于a.b都不大,因此可以做。注意用递推计算逆元.

# -*- coding: utf-8 -*-
# @time     : 2023/6/2 13:30
# @file     : atcoder.py
# @software : PyCharmimport bisect
import copy
import sys
from itertools import permutations
from sortedcontainers import SortedList
from collections import defaultdict, Counter, deque
from functools import lru_cache, cmp_to_key
import heapq
import math
sys.setrecursionlimit(1000)mod = 10 ** 9 + 7def pw(a, x):if x == 1:return atemp = pw(a, x >> 1)if x & 1:return temp * temp * a % modelse:return temp * temp % moddef main():items = sys.version.split()if items[0] == '3.10.6':fp = open("in.txt")else:fp = sys.stdinn, a, b = map(int, fp.readline().split())t0 = pw(2, n) - 1m = max(a, b) + 1fac = [1] * mfor i in range(1, m):fac[i] = fac[i - 1] * i % modinv = [1] * minv[m - 1] = pw(fac[m - 1], mod - 2)for i in range(m - 2, -1, -1):inv[i] = inv[i + 1] * (i + 1) % moddef cmb(x, y):ret = inv[y]for i in range(x, x - y, -1):ret = ret * i % modreturn retans = (t0 - cmb(n, a) - cmb(n, b)) % modprint(ans)if __name__ == "__main__":main()

E - Roaming
组合题
由于原始数组中每个数都为1,那么操作等价于将1变为0,然后看剩下的一些位置中如何放球。
枚举0的个数,设有i个位置为0,那么剩下的n-i位置中要安放n个球,且每个位置至少放1个球,
a个球放在b位置中每个位置至少一个球的方案数等价于在a个球的空隙中插b-1个隔板,因此为 C ( a − 1 , b − 1 ) C(a-1,b-1) C(a1,b1)

# -*- coding: utf-8 -*-
# @time     : 2023/6/2 13:30
# @file     : atcoder.py
# @software : PyCharmimport bisect
import copy
import sys
from itertools import permutations
from sortedcontainers import SortedList
from collections import defaultdict, Counter, deque
from functools import lru_cache, cmp_to_key
import heapq
import math
sys.setrecursionlimit(1000)def main():items = sys.version.split()if items[0] == '3.10.6':fp = open("in.txt")else:fp = sys.stdinn, k = map(int, fp.readline().split())mod = 10 ** 9 + 7ans = 0fac = [1] * (n + 1)for i in range(1, n + 1):fac[i] = fac[i - 1] * i % moddef pw(a, x):if x == 1:return at = pw(a, x >> 1)if x & 1:return t * t * a % modelse:return t * t % modinv = [1] * (n + 1)inv[n] = pw(fac[n], mod - 2)for i in range(n - 1, -1, -1):inv[i] = inv[i + 1] * (i + 1) % moddef c(x, y):return fac[x] * inv[y] * inv[x - y] % modans = 0for i in range(k + 1):if n - i - 1 >= 0:ans += c(n - 1, n - i - 1) * c(n, i) % modans %= modelse:breakprint(ans)if __name__ == "__main__":main()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/150409.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android Studio 写一个Java调用c++ 的demo

前提条件: 本地已经配置好了ndk环境,如果没有配置好,建议参考macos 配置ndk环境-CSDN博客 这篇链接。 新建一个Empty Project 比如我这里的Project的名字是HelloJNI,包名是com.example.hellojni 然后在src目录下,右键选择Add C …

Tensorflow2.0:CNN、ResNet实现MNIST分类识别

以下仅是个人的学习笔记 ,内容可能是错误 CNN: import tensorflow as tf from tensorflow import keras from tensorflow.keras import layers# 导入数据 (x_train, y_train), (x_test, y_test) keras.datasets.mnist.load_data()# 数据预处理 x_tra…

Flink之OperatorState

在Flink中状态主要分为三种: Operator State(算子状态)Keyed State(键控状态)Broadcast State(广播状态) 这里简单介绍一下Operator State的使用,说到使用State就必然要使用到Flink的容错机制也就是Checkpoint.具体内容见代码注解 数据源 这里选用Socket作为Source输入,便于…

JVM虚拟机:通过日志学习PS+PO垃圾回收器

我们刚才设置参数的时候看到了-XXPrintGCDetails表示输出详细的GC处理日志,那么我们如何理解这个日志呢?日志是有规则的,我们需要按照这个规则来理解日志中的内容,它有两个格式,一个格式是GC的格式(新生代&…

二叉树题目:二叉树的最近公共祖先

文章目录 题目标题和出处难度题目描述要求示例数据范围 解法一思路和算法代码复杂度分析 解法二思路和算法代码复杂度分析 题目 标题和出处 标题:二叉树的最近公共祖先 出处:236. 二叉树的最近公共祖先 难度 5 级 题目描述 要求 给定一个二叉树&…

Redis 的集群模式实现高可用

来源:Redis高可用:武林秘籍存在集群里,那稳了~ (qq.com) 1. 引言 前面我们已经聊过 Redis 的主从同步(复制)和哨兵机制,这期我们来聊 Redis 的集群模式。 但是在超大规模的互联网应用中,业务规…

2023年Java核心技术大会(Core Java Week 2023)-核心PPT资料下载

一、峰会简介 人工智能在22年、23年的再次爆发让Python成为编程语言里最大的赢家;云原生的持续普及令Go、Rust等新生的语言有了进一步叫板传统技术体系的资本与底气。我们必须承认在近几年里,Java阵营的确受到了前所未有的挑战,出现了更多更…

机器视觉系统选型-定光照强度

同一个外形结构的光源,光照强度受如下影响: 单颗灯珠的亮度灯珠排列的数量和密度漫射板/防护板的材质(透明、半透明、全漫射) 在合理范围内提升光照强度,可降低对相机曝光时长的要求 外形结构尺寸相同的两款光源&am…

Mac电脑VSCode配置PHP开发环境

1.安装 PHP 首先,打开终端,安装 Homebrew,输入如下命令: $ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 安装了 Homebrew 之后,你可以使用下面的…

C++学习 --pair

目录 1, 什么是pair 2, 创建pair 2-1, 标准数据类型 2-2, 自定义数据类型 3, 查询元素 3-1, 标准数据类型 3-2, 自定义数据类型 1, 什么是pair 数据以键值对形式存放的容器&…

基于C++实现循环赛日程表(分治算法)

一、问题描叙 设有n2^k个运动员,要进行网球循环赛。现在要设计一个满足以下要求的比赛日程表 每个选手必须与其他n-1个选手各赛一场每个选手一天只能赛一次循环赛一共进行n-1天 二、问题分析 按此要求可将比赛日程表设计成n行n-1列的表,在表中第 i 行…

【微客云】外卖霸王餐-城市分站加盟-区域代理-服务商模式

主要功能介绍 程序主要功能: 1.自动定位用户展示活动 2.两个活动推广展示位 3.外卖CPS接入,或者更多CPS接入自己操作 4.报名支付报名费(自定义报名费价格),取消订单30分钟内自动退款(时间可调) …

uniapp中使用render.js进行openers、arcgis等地图操作

uniapp中使用render.js进行openers、arcgis等地图操作 一、为啥需要render.js render.js主要作用于APP上,因为Uniapp本质为vuejshtml进行开发,整个技术栈还是H5,对DOM元素进行操作。而APP中没用Dom元素这个概念。因此利用render.js这个视图层…

NX二次开发UF_CAM_ask_cam_preferences 函数介绍

文章作者:里海 来源网站:里海NX二次开发3000例专栏 UF_CAM_ask_cam_preferences Defined in: uf_cam.h int UF_CAM_ask_cam_preferences(UF_CAM_preferences_p_t prefs ) overview 概述 This function provides the current settings of the CAM pre…

【Linux】安全审计-audit

文章目录 一、audit简介二、开启auditd服务三、相关文件四、审计规则五、审计日志查询及分析附录1:auditctl -h附录2:systemcall 类型 参考文章: 1、安全-linux audit审计使用入门 2、audit详细使用配置 3、Linux-有哪些常见的System Call&a…

优步让一切人工智能化

优步(Uber)的商业模式建立在对数据的颠覆性使用上--通过将双方智能手机的位置数据关联起来,将出租车司机与乘客配对。这意味着,它可以比传统出租车公司更快地安排司机去接乘客,极大地冲击了传统出租车公司的业务。 优步自成立以来&#xff0…

【PG】PostgreSQL高可用 之repmgr常用命令

注册 / 取消注册(register) repmgr -f /etc/repmgr.conf primary register repmgr -f /etc/repmgr.conf standby registerrepmgr -f /etc/repmgr.conf primary unregister -F --node-id2 repmgr -f /etc/repmgr.conf standby unregister 克隆主库(repmgr standby…

【Linux】-进程间通信-命名管道文件(没有关系的进程间进行通信),以及写一个日志模板

💖作者:小树苗渴望变成参天大树🎈 🎉作者宣言:认真写好每一篇博客💤 🎊作者gitee:gitee✨ 💞作者专栏:C语言,数据结构初阶,Linux,C 动态规划算法🎄 如 果 你 …

Vue3.0和2.0语法不同分析

前言&#xff1a;本篇文章只做VUE3.0和VUE2.0语法上的不同分析&#xff0c;不做性能和源码架构等的分析。 一、VUE3.0和VUE2.0代码结构不同 VUE3.0代码实例 <template><div><span>count is {{ count }}</span><span>plusOne is {{ plusOne }}…

Games104现代游戏引擎笔记 面向数据编程与任务系统

Basics of Parallel Programming 并行编程的基础 核达到了上限&#xff0c;无法越做越快&#xff0c;只能通过更多的核来解决问题 Process 进程 有独立的存储单元&#xff0c;系统去管理&#xff0c;需要通过特殊机制去交换信息 Thread 线程 在进程之内&#xff0c;共享了内存…