Atcoder ABC158

C - Tax Increase
范围足够小,遍历100/0.08内的整数就好

D - String Formation
设置两个数组分别代表前后加入的字符,reverse时交换数组

# -*- 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 = int(fp.readline())f, e = [], []over = 0for i in range(n):t = fp.readline().strip()if t[0] == '1':f, e = e, fover = over ^ 1else:_, op, c = t.split()if op == '1':f.append(c)else:e.append(c)fl = ''.join(f[::-1])el = ''.join(e)if over:ans = fl + ''.join(s[::-1]) + elelse:ans = fl + s + elprint(ans)if __name__ == "__main__":main()

E - Divisible Substring
10和大部分质数是互质的,因此可以用前缀和的方法
2和5与10不是互质的,但是只要看尾数即可。

# -*- 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, p = map(int, fp.readline().split())s = fp.readline().strip()if p == 2 or p == 5:ans = 0for i in range(n):if (ord(s[i]) - ord('0')) % p == 0:ans += i + 1print(ans)returnt, m = 0, 1h = defaultdict(int)ans = 0h[t] = 1for i in range(n - 1, -1, -1):j = ord(s[i]) - ord('0')t = (t + j * m) % pif t in h:ans += h[t]m = (m * 10) % ph[t] += 1print(ans)if __name__ == "__main__":main()

F - Removing Robots
设dp[i]为从i到n的方案数
不选时dp[i]+=dp[i+1]
选中时右边覆盖链一直往右覆盖,需要找到覆盖链不能覆盖的第一个数next dp[i]+=dp[next]
可以用单调栈做
每个数进入后,在被覆盖到的时候出栈,因为被覆盖了以后就没有继续存在的意义了。
为了方便在栈里加入一个很大的数代表位置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.stdinn = int(fp.readline())items = []for i in range(n):a, b = map(int, fp.readline().split())items.append([a, b])items.sort()x, _ = map(list, zip(*items))x.append(1 << 63)dp = [0] * (n + 1)dp[n] = 1mod = 998244353st = [n]pos = [0] * (n + 1)for i in range(n - 1, -1, -1):t = items[i][0] + items[i][1]while len(st) and t > x[st[-1]]:st.pop()pos[i] = st[-1]dp[i] = (dp[i + 1] + dp[st[-1]]) % modst.append(i)print(dp[0])if __name__ == "__main__":main()

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

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

相关文章

Java语言的特点||运算符

Java语言的特点||运算符 1&#xff1a;2&#xff1a;JDK, JRE&#xff0c;JVM知识&#xff1a;3&#xff1a;注释4&#xff1a;标识符5&#xff1a; Java编译过程&#xff1a;6&#xff1a;赋值7&#xff1a;switch8:布尔表达式9&#xff1a;判定素数10&#xff1a;打印 1 - 10…

IPKISS Tutorials ------查看使用_generate_instances 方法创建图形的端点

IPKISS Tutorials ------查看使用_generate_instances 方法创建图形的端点 import si_fab.all as pdk import ipkiss3.all as i3class Box(i3.PCell):class Layout(i3.LayoutView):</

力扣题目学习笔记(OC + Swift)

训练思维&#xff0c;提高编程能力&#xff0c;不为刷题而刷题 文章目录 1. 两数之和Swift版本OC版本 2. 两数相加Swift实现OC实现 3.无重复字符的最长子串SwiftOC 4.寻找两个正序数组的中位数SwiftOC 1. 两数之和 给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请…

【Linux网络】搭建内外网的网关服务器,实现DNS分离解析与DHCP自动分配

一、实验要求&#xff1a; 二、实验思路剖析&#xff1a; 网关服务器&#xff1a; 客户端准备&#xff1a; 实操&#xff1a; 第一步先安装dhcp服务和bind服务 第二步双网卡&#xff0c;配置网卡的ip地址 第三步&#xff1a;开始配置dhcp 第四步&#xff1a;做dns分离解析…

使用项目自动生成的dokcerfile第一次构建时把加载aps5.0失败无法找到加载的文件

第一次构建初始化项目自带的dockerfile,内容如下: #See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.#FROM mcr.microsoft.com/dotnet/aspnet:5.0-buster-slim AS base #WORKDIR /a…

【half done】剑指offer53:在排序数组中查找数字

力扣&#xff0c;https://leetcode.cn/problems/zai-pai-xu-shu-zu-zhong-cha-zhao-shu-zi-lcof/description/ 二分查找&#xff0c;边界问题 solution1 自己的方法&#xff0c;其实不太好 class Solution {public int countTarget(int[] scores, int target) {if (scores.l…

单线圈无刷直流电机的电机驱动器芯片GC1298R/S,可替代EUM6898/德信,应用于车用信息娱,HUD 投影仪调整等产品中

GC1298R/S 是单线圈无刷直流电机的电机驱动器。它具有高效的直接 PWM控制方式&#xff0c; 它可以控制无刷直流电机转速。它集成了最低速 度限制模式、可调速度斜率控制模式、软启动模 式、风扇转速计、锁保护、自动重启、TSD、OCP 和噪声控制模式&#xff0c;噪声控制模式根据…

使用持久卷部署 WordPress 和 MySQL

&#x1f5d3;️实验环境 OS名称Microsoft Windows 11 家庭中文版系统类型x64-based PCDocker版本Docker version 24.0.6, build ed223bcminikube版本v1.32.0 &#x1f587;️创建 kustomization.yaml 你可以通过 kustomization.yaml 中的生成器创建一个 Secret存储密码或密…

python 迭代器

可迭代对象 可以直接作用于for循环的对象统称为可迭代对象 &#xff08;iterable&#xff09;。可以用isinstance()去判断一个对象是否是iterable对象。 数据类型 可以直接作用于for循环的数据类型一般分为两种 1.集合数据类型&#xff0c;如list、tuple、dict、set、strin…

使用Arrays.asList与不使用的区别

在写算法的时候&#xff0c;遇到了有的题解使用的是Arrays.asList&#xff0c;也有的是直接新建一个List集合将元素加进去的。 看了一下算法的时间&#xff0c;两者居然相差了9秒。 算法原地址&#xff1a; 力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长…

类和对象学习笔记

类和对象 类的定义this指针类的6个默认成员函数构造函数析构函数拷贝构造函数赋值运算符重载赋值运算符重载运算符重载const成员 取地址操作符重载const取地址操作符重载 初始化列表explicit关键字static成员匿名对象友元内部类拷贝对象时编译器的优化 类的定义 c类的定义形式…

使用SpringBoot开发一个API网关

已经有很多开源的网关了&#xff0c;而且大公司一般都有自己的网关系统&#xff0c;但是有些场景也离不开我们自己需求定制&#xff0c;可以使用SpringCloud GateWay来满足我们业务的需求&#xff0c;即使需要在网关层实现一些具体的业务逻辑&#xff0c;我们也可以在开源的基础…

基于Bagging集成学习方法的情绪分类预测模型研究(文末送书)

&#x1f935;‍♂️ 个人主页&#xff1a;艾派森的个人主页 ✍&#x1f3fb;作者简介&#xff1a;Python学习者 &#x1f40b; 希望大家多多支持&#xff0c;我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4ac;点赞&#x1f4…

电脑监控软件解读

电脑监控软件是这信息化时代下的产物&#xff0c;随着计算机在生活、学习和工作中的普及&#xff0c;管理和保护计算机数据安全变得越来越重要。电脑监控软件应时而生&#xff0c;能够帮助用户更好地管理计算机使用&#xff0c;从而达到保护数据安全&#xff0c;和提高工作效率…

如何判断一个公司是否为空壳公司

什么是空壳公司&#xff1f; “空壳公司”也叫现成公司&#xff08;readymade company&#xff09;。最早是根据英国公司法确立的一种公司法律形式。是发起人根据香港或英国的法律成立的有限公司&#xff0c;但是没有任命第一任董事&#xff0c;也没有投资者认购股份&#xff…

【每日OJ —— 232.用栈实现队列(栈)】

每日OJ —— 232.用栈实现队列&#xff08;栈&#xff09; 1.题目&#xff1a;232.用栈实现队列&#xff08;栈&#xff09;2.解法2.1.方法讲解2.1.1.算法讲解2.1.2.代码实现2.1.3.提交通过展示 1.题目&#xff1a;232.用栈实现队列&#xff08;栈&#xff09; 2.解法 2.1.方法…

windows上 adb devices有设备 wsl上没有

终于解决了&#xff01;&#xff01;&#xff01;&#xff01; TAT&#xff0c;尝试了很多种办法。 比如WSL中的adb和Windows中的adb版本必须一致&#xff0c;一致也没用&#xff0c;比如使用 ln 建立链接也没用。 这个解决办法的前提是windows中的abd是好用的。 ●在windows…

简单php反序列化实现执行代码

简单php反序列化实现执行代码 反序列化举例 首先定义类和对象&#xff0c;然后输出序列化和反序列化结果看看这是个什么东西 <?phpclass Stu{public $name;public $age;public $sex;public $score;}$stu1 new Stu();$stu1->name "order";$stu1->age …

部署Kubernetes Dashboard

Dashboard简介 Dashboard 是基于网页的 Kubernetes 用户界面。 可以使用 Dashboard 将容器应用部署到 Kubernetes 集群中&#xff0c;也可以对容器应用排错&#xff0c;还能管理集群资源。 Dashboard创建 #创建pods kubectl apply -f https://raw.githubusercontent.com/kub…

北邮22级信通院数电:Verilog-FPGA(10)第十周实验 实现移位寄存器74LS595(仿真方法验证)

北邮22信通一枚~ 跟随课程进度更新北邮信通院数字系统设计的笔记、代码和文章 持续关注作者 迎接数电实验学习~ 获取更多文章&#xff0c;请访问专栏&#xff1a; 北邮22级信通院数电实验_青山如墨雨如画的博客-CSDN博客 使用FPGA开发板验证的教程&#xff0c;请参考 北邮…