当前位置: 首页 > news >正文

网站备案需要提供网站建设方案书赛事资讯赛马资料

网站备案需要提供网站建设方案书,赛事资讯赛马资料,山西网站建设运营公司,益阳北京网站建设C - Distinct or Not 签到题,注意大小写和以前的不一样 D - Dice in Line 签到题2,用个窗口即可 E - Almost Everywhere Zero 数位DP(搜索)的例题 pos表示当前搜索到的位置(开始为0,结束为n) …

C - Distinct or Not
签到题,注意大小写和以前的不一样

D - Dice in Line
签到题2,用个窗口即可

E - Almost Everywhere Zero
数位DP(搜索)的例题
pos表示当前搜索到的位置(开始为0,结束为n)
num表示已经使用的非0数字个数
cap表示搜索是否被限制,当之前搜索的数字比s小时cap=0,否则cap=1,开始时cap=1

# -*- 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.stdins = fp.readline().strip()n = len(s)k = int(fp.readline())@lru_cache(None)def get(pos, cap, num):if num == k:return 1if pos == n:return 0ret = 0si = int(s[pos])if cap == 0:ret += get(pos + 1, cap, num)ret += get(pos + 1, cap, num + 1) * 9else:if si == 0:ret += get(pos + 1, cap, num)else:ret += get(pos + 1, cap, num + 1)ret += get(pos + 1, 0, num + 1) * (si - 1)ret += get(pos + 1, 0, num)return retans = get(0, 1, 0)print(ans)if __name__ == "__main__":main()

F - Many Many Paths

组合数学
显见
1.每个(r,c)点上的数都是一个组合数 C ( r + c , c ) C(r+c,c) C(r+c,c)
2.可以用容斥原理将ans拆成 g ( r 2 , c 2 ) − g ( r 2 , c 1 − 1 ) − g ( r 1 − 1 , c 2 ) + g ( r 1 − 1 , c 1 − 1 ) g(r_2,c_2)-g(r_2,c_1-1)-g(r_1-1,c_2)+g(r_1-1,c_1-1) g(r2,c2)g(r2,c11)g(r11,c2)+g(r11,c11)
其中 g g g函数是从(0,0)到(r,c)点的所有组合数的和。
将g按列分解(行也一样)
得到 g = C ( 0 , 0 ) + C ( 1 , 0 ) + . . . + C ( r , 0 ) + C ( 1 , 1 ) + C ( 2 , 1 ) + . . . + C ( r + 1 , 1 ) + . . . . C ( 1 + c , c ) + C ( 2 + c , c ) + . . . + C ( r + c , c ) g=C(0,0)+C(1,0)+...+C(r,0)+\\ C(1,1)+C(2,1)+...+C(r+1,1) + \\ ....\\ C(1+c,c)+C(2+c,c)+...+C(r+c,c) g=C(0,0)+C(1,0)+...+C(r,0)+C(1,1)+C(2,1)+...+C(r+1,1)+....C(1+c,c)+C(2+c,c)+...+C(r+c,c)
每一行都可以规约为 C ( r + c + 1 , c + 1 ) C(r+c+1, c+1) C(r+c+1,c+1)
这样可以写出一个 O ( n ) O(n) O(n)算法

# -*- 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.stdinr1, c1, r2, c2 = map(int, fp.readline().split())mod = 10 ** 9 + 7fac = [1] * 2000002iv = [1] * 2000002for i in range(1, 2000002):fac[i] = fac[i - 1] * i % moddef pw(a, x):if x == 1:return atemp = pw(a, x >> 1)if x & 1:return temp * temp * a % modelse:return temp * temp % modiv[1000001] = pw(fac[1000001], mod - 2)for i in range(1000000, -1, -1):iv[i] = (iv[i + 1] * (i + 1)) % moddef cmb(x, y):return fac[x] * iv[y] * iv[x - y] % moddef get(r, c):ret = 0for i in range(1, r + 2):ret = (ret + cmb(i + c, c)) % modreturn reta0, a1, a2, a3 = get(r2, c2), get(r1 - 1, c2), get(r2, c1 - 1), get(r1 - 1, c1 - 1)ans = (a0 - a1 - a2 + a3) % modprint(ans)if __name__ == "__main__":main()
http://www.yidumall.com/news/12227.html

相关文章:

  • qq网页空间乐山网站seo
  • wordpress媒体库搬家seo推广计划
  • 兰州微网站建设互联网推广项目
  • 黄骅市官方网站查询网 网站查询
  • 做网站主机几个配件推广软文代写
  • 如何搭建网站教程视频电销外包团队在哪找
  • 网站开发工程师证书优化关键词的公司
  • 做资源网站需要什么软件百度关键词排名查询工具
  • 北京公司建设网站优秀软文范例200字
  • 求个网站2021可用海南网站制作公司
  • 建网站郑州seo文章优化方法
  • 女生学网站建设好学吗河南百度关键词优化排名软件
  • 无备案网站广告如何做雅虎搜索引擎入口
  • 做网站公司工资网络推广公司官网
  • 天津网站建设哪家做得好新站整站优化
  • 广州天河区租房哪里便宜优化大师优化项目有哪些
  • 昆明市建设局网站百度网盘下载电脑版官方下载
  • 女人做春梦网站如何做好线上推广和引流
  • 化学产品在哪个网站做推广最好营销策划方案
  • 公司网站怎么做个人博客搭建
  • 个人怎么做音乐网站长春模板建站代理
  • 安徽专业建网站沈阳seo收费
  • 成都php网站建设信息流广告投放平台
  • 网站公示如何做链接云南seo
  • 安徽品质网站建设创新品牌整合营销案例
  • 方庄网站建设免费网络推广的方法
  • wordpress酷炫插件班级优化大师免费下载学生版
  • seo中文含义是什么seo服务外包费用
  • 广州住房城乡建设委网站苏州seo怎么做
  • 房屋中介做网站的书籍站长统计官网