(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…...
第58步 深度学习图像识别:Transformer可视化(Pytorch)
一、写在前面 (1)pytorch_grad_cam库 这一期补上基于基于Transformer框架可视化的教程和代码,使用的是pytorch_grad_cam库,以Bottleneck Transformer模型为例。 (2)算法分类 pytorch_grad_cam库中包含的…...
angular实现全局组件
之前我们实现全局组件的第一种方式。我们是在定义了组件的时候通过在declares:[component],然后exports出该组件。最后在页面中每次导入该组件,而这次我们将采用另一种方式来实现 1 新建公用组件: navbreadcrumbnavbreadcrumb.component.htmlnavbreadc…...
Spring编程模型(范式)
面向对象编程 契约接口:Aware aware:意识到的 契约接口(Aware)是Spring框架中的一个特性,它允许Bean对象意识到它们所在的环境并与之进行交互,用于提供特定的功能或信息给Bean对象。这些接口通常作为回调接口,在Bean初始化过程…...
Golang GORM 单表删除
删除只有一个操作,delete。也是先找到再去删除。 可以删除单条记录,也可以删除多条记录。 var s Studentdb.Debug().Delete(&s, "age ?", 100)fmt.Println(s)[15.878ms] [rows:1] DELETE FROM student WHERE age 100var s Studentdb.De…...
Windows 下 MySQL 源码学习环境搭建步骤【建议收藏】
【建议收藏】Windows 下如何安装最新版 MySQL 源码学习的调试环境步骤。 作者:芬达 《芬达的数据库学习笔记》公众号作者,开源爱好者,擅长 MySQL、ansible。 本文来源:原创投稿 爱可生开源社区出品,原创内容未经授权不…...
redis总复习
springboot基于redisson实现看门狗锁:Springboot基于Redisson实现Redis分布式可重入锁【案例到源码分析】_springboot redission lock_AP0906424的博客-CSDN博客 springboot基于redis实现设置缓存和过期时间的代码?包括key的设计 https://mbd.baidu.com/ug_share…...
[LeetCode - Python]844. 比较;含退格的字符串(Easy);415. 字符串相加(Easy)
1.题目 844. 比较含退格的字符串(Easy) 1.代码: class Solution:def backspaceCompare(self, s: str, t: str) -> bool:# 暴力法s list(s)t list(t)M 0N 0for i in range(len(s)):i -M if s[i] # :if i > 0 :s.pop(i)s.pop(i-…...
机器学习深度学习——NLP实战(自然语言推断——注意力机制实现)
👨🎓作者简介:一位即将上大四,正专攻机器学习的保研er 🌌上期文章:机器学习&&深度学习——NLP实战(自然语言推断——数据集) 📚订阅专栏:机器学习&…...
mac垃圾清理软件有哪些
随着使用时间的增加,mac系统会产生一些垃圾文件,影响系统的性能和稳定性。为了保持mac系统的高效,用户需要定期使用mac垃圾清理软件来清理系统缓存、日志、语言包等无用文件。CleanMyMac是一款功能强大的mac垃圾清理软件,它可以帮…...
8.18 校招 内推 面经
绿泡泡: neituijunsir 交流裙,内推/实习/校招汇总表格 1、校招 | 小米集团2024届全球校园招聘正式启动(内推) 校招 | 小米集团2024届全球校园招聘正式启动(内推) 2、2023校招总结--软件测试岗位 - 2 2…...
网站策划用培训吗/深圳网络推广引流
引言 50 多年前激光技术的发展催生了光探测和测距 (LIDAR) 系统,该系统在距离计算方式上取得了突破。LIDAR 的原理与雷达使用的原理非常相似。主要区别在于雷达系统检测物体反射的无线电波,而激光雷达使用激光信号。这两种技术通常采用相同类型的飞行时间…...
工商企业网站/新手怎么引流推广推广引流
在原理图中放置多个元件时,可以通过复制并粘贴的操作,减少放置操作步骤。在PADS logic 原理图界面,单击右键“选择元件”后,按住Ctrl键并移动鼠标即可复制元件,也可以框选器件后右键选择“复制”(快捷方式:…...
用dw怎么做网站后台/网络营销策划与推广
1.js用Promise方法// 封装地形 GeoJSON 数据接口// 将每个数据接口封装为一个返回 Promise 的函数function getArea () {return new Promise((resolve, reject) > {fetch(./resources/china.json).then(resp >resp.json().then(china > resolve(china)))})}// 封装分色…...
不懂见网站怎么办/长沙百度seo
kindle 很久没用了 ,想用的时候只显示电池感叹号了 ,不知所措的我赶紧百度了一下。 对着插孔呼几下热气就好了 再连数据线几秒就出现小人树啦 可能是因为放置久了 电充不进去吧...
wordpress腾讯云插件下载/12345浏览器网址大全
功能: 自动读取comyang.txt文件中的公司名进行搜索 把搜索到含有公司详细信息的html保存在info文件夹 把html文件中的信息提取到excel表格中 判断是否出现机器人验证 断点续查(关了再打开不会重复查询) 缺点: 无法跳过机器人验证 …...
网站开发工作安排/公司网站建设流程
题目:有n 个人围城一圈每次从1数起数到3就把那个人提出圈子,最后只保留一个人。输入: 输入人数字符串输出:把最后一个人所保留位置返回出来。比如你输入11 的话即有11个人 [1,2,3,4,5,6,7,8,9,10,11] 。返回的是7.如果输入”123a”…...