(AtCoder Beginner Contest 315)
A.直接模拟即可
import random
import sys
import os
import math
from collections import Counter, defaultdict, deque
from functools import lru_cache, reduce
from itertools import accumulate, combinations, permutations
from heapq import nsmallest, nlargest, heapify, heappop, heappush
from io import BytesIO, IOBase
from copy import deepcopy
import threading
import bisectBUFSIZE = 4096class FastIO(IOBase):newlines = 0def __init__(self, file):self._fd = file.fileno()self.buffer = BytesIO()self.writable = "x" in file.mode or "r" not in file.modeself.write = self.buffer.write if self.writable else Nonedef read(self):while True:b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))if not b:breakptr = self.buffer.tell()self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr)self.newlines = 0return self.buffer.read()def readline(self):while self.newlines == 0:b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))self.newlines = b.count(b"\n") + (not b)ptr = self.buffer.tell()self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr)self.newlines -= 1return self.buffer.readline()def flush(self):if self.writable:os.write(self._fd, self.buffer.getvalue())self.buffer.truncate(0), self.buffer.seek(0)class IOWrapper(IOBase):def __init__(self, file):self.buffer = FastIO(file)self.flush = self.buffer.flushself.writable = self.buffer.writableself.write = lambda s: self.buffer.write(s.encode("ascii"))self.read = lambda: self.buffer.read().decode("ascii")self.readline = lambda: self.buffer.readline().decode("ascii")sys.stdin, sys.stdout = IOWrapper(sys.stdin), IOWrapper(sys.stdout)
input = lambda: sys.stdin.readline().rstrip("\r\n")def I():return input()def II():return int(input())def MI():return map(int, input().split())def LI():return list(input().split())def LII():return list(map(int, input().split()))def GMI():return map(lambda x: int(x) - 1, input().split())def LGMI():return list(map(lambda x: int(x) - 1, input().split()))def solve():s=I()res=""for i in s:if i not in "aeiou":res+=iprint(res)if __name__ == '__main__':for _ in range(1):solve()
B.模拟
import random
import sys
import os
import math
from collections import Counter, defaultdict, deque
from functools import lru_cache, reduce
from itertools import accumulate, combinations, permutations
from heapq import nsmallest, nlargest, heapify, heappop, heappush
from io import BytesIO, IOBase
from copy import deepcopy
import threading
import bisectBUFSIZE = 4096class FastIO(IOBase):newlines = 0def __init__(self, file):self._fd = file.fileno()self.buffer = BytesIO()self.writable = "x" in file.mode or "r" not in file.modeself.write = self.buffer.write if self.writable else Nonedef read(self):while True:b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))if not b:breakptr = self.buffer.tell()self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr)self.newlines = 0return self.buffer.read()def readline(self):while self.newlines == 0:b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))self.newlines = b.count(b"\n") + (not b)ptr = self.buffer.tell()self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr)self.newlines -= 1return self.buffer.readline()def flush(self):if self.writable:os.write(self._fd, self.buffer.getvalue())self.buffer.truncate(0), self.buffer.seek(0)class IOWrapper(IOBase):def __init__(self, file):self.buffer = FastIO(file)self.flush = self.buffer.flushself.writable = self.buffer.writableself.write = lambda s: self.buffer.write(s.encode("ascii"))self.read = lambda: self.buffer.read().decode("ascii")self.readline = lambda: self.buffer.readline().decode("ascii")sys.stdin, sys.stdout = IOWrapper(sys.stdin), IOWrapper(sys.stdout)
input = lambda: sys.stdin.readline().rstrip("\r\n")def I():return input()def II():return int(input())def MI():return map(int, input().split())def LI():return list(input().split())def LII():return list(map(int, input().split()))def GMI():return map(lambda x: int(x) - 1, input().split())def LGMI():return list(map(lambda x: int(x) - 1, input().split()))def solve():n=II()a=[0]+LII()s=sum(a)s=(s+1)//2for i in range(1,n+1):if s>a[i]:s-=a[i]else:print(i,end=" ")print(s)breakif __name__ == '__main__':for _ in range(1):solve()
C.维护一个不等于当前b[i][0]的的前面最大值的a[i][1]
如果相等就顺便维护一个前面的最大的a[i][1]
#include<bits/stdc++.h>
using namespace std;
const int N = 5e6+10;
#define int long long
int n,m;
void solve(){cin>>n;vector<array<int,2>> a(n+1);int res=0;for(int i=1;i<=n;i++){cin>>a[i][0]>>a[i][1];// res=max(res,a[i][1]+a[i][1]/2);}sort(a.begin()+1,a.end());int now=0;int idx=1;for(int i=2;i<=n;i++){while(idx<i&&a[idx][0]!=a[i][0]){now=max(now,a[idx][1]);idx++;}if(a[i][0]==a[i-1][0]){res=max({res,a[i][1]+a[i-1][1]/2,a[i][1]+now});}else res=max(res,a[i][1]+now);if(a[i][0]==a[i-1][0]) a[i][1]=max(a[i-1][1],a[i][1]);}cout<<res;
}
signed main(){cin.tie(0);cout.tie(0);ios::sync_with_stdio(0);int t=1;//cin>>t;while(t--) solve();return 0;
}
D.
每次删除一行或一列,最多进行n+m次操作,所以直接暴力枚举即可
统计每一行26个字母的个数,顺便动态维护一下当前还剩下的行和列即可
#include<bits/stdc++.h>
using namespace std;
const int N =2010+10;int n,m;
char g[N][N];
int row[N][30],col[N][30];
signed main(){cin.tie(0);cout.tie(0);ios::sync_with_stdio(0);cin>>n>>m;for(int i=1;i<=n;i++){for(int j=1;j<=m;j++)cin>>g[i][j];}for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){row[i][g[i][j]-'a']++;col[j][g[i][j]-'a']++;}}vector<bool> fx(n+10,false),fy(m+10,false);int r=n,c=m;for(int k=1;k<=n+m;k++){vector<pair<int,int>> a,b;for(int i=1;i<=n;i++){if(fx[i]) continue;for(int j=0;j<26;j++){if(row[i][j]==c&&c>1){a.emplace_back(i,j);}}}for(int i=1;i<=m;i++){if(fy[i]) continue;for(int j=0;j<26;j++){if(col[i][j]==r&&r>1)b.emplace_back(i,j);}}for(auto [x,y]:a){fx[x]=true;for(int i=1;i<=m;i++)col[i][y]--;r--;}for(auto [x,y]:b){fy[x]=true;for(int i=1;i<=n;i++)row[i][y]--;c--;}}cout<<r*c<<"\n";
}
E.
首先一眼topsort,但是有其他无用点干扰,所以第一次bfs直接找到需要用的点,再从需要用的点拓扑排序一次即可,求一个dfs的后序遍历也行,
#include<bits/stdc++.h>
using namespace std;
const int N = 2e5+10;
#define int long long
int n,m;
vector<int> g[N],rg[N];
int d[N],rd[N];
bool st[N];
void solve(){cin>>n;for(int i=1;i<=n;i++){int cnt;cin>>cnt;for(int j=1;j<=cnt;j++){int a;cin>>a;g[i].push_back(a);d[a]++;rg[a].push_back(i);rd[i]++;}}queue<int> q;q.push(1);st[1]=true;while(q.size()){auto t=q.front();q.pop();for(auto v:g[t]){if(!st[v]){st[v]=true;q.push(v);}}}while(q.size()) q.pop();vector<int> res;for(int i=1;i<=n;i++){if(rd[i]==0&&st[i]){q.push(i);}}// vector<int> res;while(q.size()){auto t=q.front();q.pop();if(t==1)break;// if(!st[t]) continue;res.push_back(t);for(auto v:rg[t]){if(--rd[v]==0&&st[v]) q.push(v);}}for(auto x:res)cout<<x<<" ";
}
signed main(){cin.tie(0);cout.tie(0);ios::sync_with_stdio(0);int t=1;//cin>>t;while(t--) solve();return 0;
}
F.
答案最大是1e4*1e4左右把,大概就是0走到1e4再走到0再走到1e4,
c>30就大过这个了,所以不如全走,
所以我们只需要维护跳过30个点即可,
dp方程就是走了前i个点,已经跳过了j个点,需要走的最小距离,且当前点必走
#include<bits/stdc++.h>
using namespace std;
const int N = 10010+10;int n,m;
int x[N],y[N];
double f[N][50];double get(int x1,int y1,int x2,int y2){return hypot(x1-x2,y1-y2);// return 1.0*((double)(sqrt((x1-x2)*(x1-x2)))+(double)(sqrt((y1-y2)*(y1-y2))));
}
signed main(){// cin.tie(0);cout.tie(0);ios::sync_with_stdio(0);cin>>n;for(int i=1;i<=n;i++) cin>>x[i]>>y[i];memset(f,99,sizeof(f));f[1][0]=0;for(int i=2;i<=n;i++){for(int j=0;j<=30;j++){for(int k=i-1;k>=max(1,i-j-1);k--){f[i][j]=min(f[i][j],f[k][j-(i-1-k)]+get(x[i],y[i],x[k],y[k]));}}}double p=1.0,res=1e100;for(int i=1;i<=30;i++) f[n][i]+=p,p*=2.0;for(int i=0;i<=30;i++) res=min(res,f[n][i]);printf("%.10lf",res);
}
G.我们让系数可以为0,因为方便求exgcd
就直接N--,X-=A+B+C,就A,B,C系数至少为1,直接一开始去掉这个1即可,然后注释都在代码里
#include<bits/stdc++.h>
using namespace std;
#define int long long
int exgcd(int a, int b, int &x, int &y) // 扩展欧几里得算法, 求x, y,使得ax + by = gcd(a, b)
{if (!b){x = 1; y = 0;return a;}int d = exgcd(b, a % b, y, x);y -= (a / b) * x;return d;
}int N,A,B,C,X;
signed main(){ios::sync_with_stdio(false);cin>>N>>A>>B>>C>>X;N--,X-=A+B+C; if(X<0){puts("0");return 0;}int x0,y0;//x0*B+y0*C=gcd(B,C)int d=exgcd(B,C,x0,y0),b=B/d,c=C/d,ans=0;//k0=b,k1=cx0=(x0%c+c)%c;y0=(d-B*x0)/C;//求出x0为最小非负数解法的for(int i=0;i<=N;i++){int x=X-i*A;//求 x1*B+y1*C=x,区间连续,所以求x1的合法最小值和最大值if(x%d!=0)continue;if(x<0)break;//x是d的倍数//求 x1*B+y1*C=x/dint l,r,x1=x/d%c*x0,y1;//同理求出x1为最小非负数解法的,和当前y1x1=(x1%c+c)%c,y1=(x-x1*B)/C;//x1的最小值取决于y1,因为现在x1是最小非负数了//所以现在要看y1的合法情况了,就是找y1<=N的最小系数//其实可以想象现在的x1虽然是最小的,但是y1可能大于N//这是不合法的,所以我们要把y1约束到N里面,所以现在只能把x1增大l=max(0ll,(y1-N+b-1ll)/b);if(x1>N||y1<0)r=-1ll;else r=min((N-x1)/c,y1/b);//右边界直接把y1变小或者单纯把x1变大if(l<=r)ans+=r-l+1;}cout<<ans;
}
相关文章:
(AtCoder Beginner Contest 315)
A.直接模拟即可 import random import sys import os import math from collections import Counter, defaultdict, deque from functools import lru_cache, reduce from itertools import accumulate, combinations, permutations from heapq import nsmallest, nlargest, h…...

API 接口选择那个?RESTful、GraphQL、gRPC、WebSocket、Webhook
大家好,我是比特桃。目前我们的生活紧紧地被大量互联网服务所包围,互联网上每天都有数百亿次API调用。API 是两个设备相互通讯的一种方式,人们在手机上每次指尖的悦动,背后都是 API 接口的调用。 本文将列举常见的一些 API 接口&…...

「Python|音视频处理|环境准备」如何在Windows系统下安装并配置音视频处理工具FFmpeg
本文主要介绍如何在Windows系统下安装并配置音视频处理工具FFmpeg,方便使用python进行音视频相关的下载或编辑处理。 文章目录 一、下载软件二、解压并配置三、验证安装 一、下载软件 首先要去 ffmpeg官网 下载软件包 由于上面直接下载的按钮是.tar.xz格式的。为了…...

软考高级架构师下篇-12层次式架构设计理论与实践
目录 1. 考情分析2. 层次式体系结构概述3. 表现层框架设计4. 中间层框架设计5. 数据访问层设计6. 数据架构规划与设计7. 物联网层次架构设计8. 前文回顾1. 考情分析 根据考试大纲,层次式架构设计理论与实践知识点会涉及单选题型(约占2~5分)和案例题(25分),本小时内容偏重于方…...
234. 回文链表
234. 回文链表 给你一个单链表的头节点 head ,请你判断该链表是否为回文链表。如果是,返回 true ;否则,返回 false 。 /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* L…...

LInux之例行工作
目录 场景 单一执行例行任务 --- at(一次性) 安装 命令详解 语法格式 参数及作用 时间格式 案例 at命令执行过程分析 循环执行的例行性任务--crontab(周期性) crontd服务安装 linux 任务调度的工分类 crontab工作过程…...
C++,从“hello world“开始
一、"hello world" #inclue <iostream>using namespace std;int main() {cout << "hello world" << endl;return 0; } 1.1 #include:预处理标识 1.2 <iostream>:输入输出流类所在头文件 1.2.1 istream&a…...

/root/.ssh/config line 2: Bad protocol 2 host key algorithms ‘+ssh-rsa‘.
文章目录 1、问题2、查看openssh版本3、解决问题4、重新生成密钥5、查看是否可连接工蜂 1、问题 ssh访问工蜂报错: [rootlocalhost .ssh]# ssh -T gitgit.code.tencent.com /root/.ssh/config line 2: Bad protocol 2 host key algorithms ‘ssh-rsa’. 2、查看o…...

mac m1上系统内录内部声音的方法/无需安装Blackhole
总所周知,m1的mac不能录制桌面音频,obsstudio都不行。 最快的解决方法就是下载飞书: 登陆后新建直播/视频会议: 共享的时候选择下面的两个钩上去就好了...
数字人学习目录
数字人学习目录 百度PaddlePaddleHub图像风格迁移模型pp-tinypose模型 PaddleGANPaddleLitePaddleDetectionPP-TinyPose 人体骨骼关键点识别 PaddleSpeechVisualDLPaddleBobo TransformerWav2LibCLIPFFMpeg模型库数据集学习天地PythonJupyter Notebook Unity3DUE 百度Paddle P…...

PHP 房产网站系统Dreamweaver开发mysql数据库web结构php编程计算机网页项目
一、源码特点 PHP 房产网站系统是一套完善的WEB设计系统,对理解php编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。 源码 https://download.csdn.net/download/qq_41221322/88233553 论文 https://download…...

0基础入门代码审计-2 Fortify初探
0x01 序言 目前又加入一位新童鞋了,最近将会再加入cs相关的专栏,都是以基础为主,毕竟太复杂的东西,能看懂的人太少。 0x02 准备工具 1、Fortify 2、需要审计的源码 0x03 Fortify的简单使用 1、 1、在开始菜单栏中找到Audit Wo…...

qiiuzhiji4
本篇是从慧与离职后到2023年8月21日这段时间的经历 2023/7/31至2023/8/21 本篇初次写于2023年8月21日 从慧与离职后基本上就是在专心找工作了,但是有在这段时间找工作经历的人都明白,IT行业不复以往了。尤其是对于我这样的普通二本学历的人来说ÿ…...

构建 NodeJS 影院微服务并使用 docker 部署【01/4】
图片来自谷歌 — 封面由我制作 一、说明 构建一个微服务的电影网站,需要Docker、NodeJS、MongoDB,这样的案例您见过吗?如果对此有兴趣,您就继续往下看吧。 在本系列中,我们将构建一个 NodeJS 微服务,并使用…...

变频器和plc之间无线MODBUS通讯
在工业现场由PLC远程控制变频器的应用非常常见,如果挖沟布线不便或者变频器在移动设备上,那么采用无线通讯就是最佳方案。 这里我们选用最常用的三菱 FX2N PLC和三菱变频器为例,并结合日系plc专用无线通讯终端DTD435M来说明PLC与变频器之间的…...

【云原生】3分钟快速在Kubernetes1.25部署Prometheus2.42+Grafana9.5.1+Alertmanager0.25
文章目录 1、简介2、GitHub地址3、环境信息4、安装5、访问Grafana1、简介 Prometheus-operator帮助我们快速创建Prometheus+Grafana+Alertmanager等服务,而kube-prometheus更加完整的帮助我们搭建全套监控体系,这包括部署多个 Prometheus 和 Alertmanager 实例, 指标导出器…...

Redis中常见的缓存穿透、缓存击穿、缓存雪崩、缓存预热解决方案
文章目录 一、缓存穿透1. 什么是缓存穿透2. 解决方案2.1 无效的key存放到Redis2.2 引入布隆过滤器2.3 如何选择: 二、缓存击穿1. 什么是缓存击穿2. 解决方案 三、缓存雪崩1. 什么是缓存雪崩2. 解决方案2.1 均匀过期2.2 热点数据缓存永远不过期2.3 采取限流降级的策略…...

第二章-自动驾驶卡车-自动驾驶卡车前装量产的要求
1、自动驾驶卡车的特点与挑战 重卡主要运行在相对封闭的高速公路,相较城市道路场景看似更简单。但是,由于重卡特有的物理特性、运行环境和商业运营要求,相较于乘用车的自动驾驶系统,重卡的自动驾驶系统对车辆的感知距离和精度、系…...

Midjourney API 申请及使用
Midjourney API 申请及使用 在人工智能绘图领域,想必大家听说过 Midjourney 的大名吧! Midjourney 以其出色的绘图能力在业界独树一帜。无需过多复杂的操作,只要简单输入绘图指令,这个神奇的工具就能在瞬间为我们呈现出对应的图…...

mysql mysql 容器 忽略大小写配置
首先能够连接上mysql,然后输入下面这个命令查看mysql是否忽略大小写 show global variables like %lower_case%; lower_case_table_names 0:不忽略大小写 lower_case_table_names 1:忽略大小写 mysql安装分为两种(根据自己的my…...

微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】
微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来,Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility
Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility 1. 实验室环境1.1 实验室环境1.2 小测试 2. The Endor System2.1 部署应用2.2 检查现有策略 3. Cilium 策略实体3.1 创建 allow-all 网络策略3.2 在 Hubble CLI 中验证网络策略源3.3 …...

2025盘古石杯决赛【手机取证】
前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来,实在找不到,希望有大佬教一下我。 还有就会议时间,我感觉不是图片时间,因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...

涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战
“🤖手搓TuyaAI语音指令 😍秒变表情包大师,让萌系Otto机器人🔥玩出智能新花样!开整!” 🤖 Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制(TuyaAI…...

项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)
Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败,具体原因是客户端发送了密码认证请求,但Redis服务器未设置密码 1.为Redis设置密码(匹配客户端配置) 步骤: 1).修…...

springboot整合VUE之在线教育管理系统简介
可以学习到的技能 学会常用技术栈的使用 独立开发项目 学会前端的开发流程 学会后端的开发流程 学会数据库的设计 学会前后端接口调用方式 学会多模块之间的关联 学会数据的处理 适用人群 在校学生,小白用户,想学习知识的 有点基础,想要通过项…...

使用Spring AI和MCP协议构建图片搜索服务
目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式(本地调用) SSE模式(远程调用) 4. 注册工具提…...

PHP 8.5 即将发布:管道操作符、强力调试
前不久,PHP宣布了即将在 2025 年 11 月 20 日 正式发布的 PHP 8.5!作为 PHP 语言的又一次重要迭代,PHP 8.5 承诺带来一系列旨在提升代码可读性、健壮性以及开发者效率的改进。而更令人兴奋的是,借助强大的本地开发环境 ServBay&am…...

从零开始了解数据采集(二十八)——制造业数字孪生
近年来,我国的工业领域正经历一场前所未有的数字化变革,从“双碳目标”到工业互联网平台的推广,国家政策和市场需求共同推动了制造业的升级。在这场变革中,数字孪生技术成为备受关注的关键工具,它不仅让企业“看见”设…...
[特殊字符] 手撸 Redis 互斥锁那些坑
📖 手撸 Redis 互斥锁那些坑 最近搞业务遇到高并发下同一个 key 的互斥操作,想实现分布式环境下的互斥锁。于是私下顺手手撸了个基于 Redis 的简单互斥锁,也顺便跟 Redisson 的 RLock 机制对比了下,记录一波,别踩我踩过…...