2022浙江省赛G I M
G - Easy Glide
题意
思路
由于数据范围比较小(1e3),把所有的移动的时间转化为图论上的边权就可以了,再用dijkstra解决,注意如果用的是邻接表存的话要建双向边
代码
#include <map>
#include <set>
#include <queue>
#include <deque>
#include <cmath>
#include <vector>
#include <cstring>
#include <iostream>
#include <algorithm>
#include <unordered_map>
using namespace std;
#define fi first
#define se second
#define u1 (u<<1)
#define u2 (u<<1|1)
#define pb push_back
#define pp pop_back()
#define int long long
#define laile cout<<"laile"<<endl
#define lowbit(x) ((x)&(-x))
#define double long double
#define sf(x) scanf("%lld",&x)
#define sff(x,y) scanf("%lld %lld",&x,&y)
#define sd(x) scanf("%Lf",&x)
#define sdd(x,y) scanf("%Lf %Lf",&x,&y)
#define _for(i,n) for(int i=0;i<(n);++i)
#define _rep(i,a,b) for(int i=(a);i<=(b);++i)
#define _pre(i,a,b) for(int i=(a);i>=(b);--i)
#define all(x) (x).begin(), (x).end()
#define IOS ios::sync_with_stdio(false);cin.tie(0);cout.tie(0)
typedef unsigned long long ULL;
typedef pair<int,int>PII;
typedef pair<double,double>PDD;
const int N=4e6+10,INF=4e18;
int n,m;
int e[N],ne[N],h[N],idx,v1,v2;
double w[N];
PII q[N];
double dist[N];
bool st[N];
void add(int a,int b,double c)
{e[idx]=b;ne[idx]=h[a];w[idx]=c;h[a]=idx++;
}
double getdist(PII a,PII b)
{return sqrt((a.fi-b.fi)*(a.fi-b.fi)+(a.se-b.se)*(a.se-b.se));
}
void addv(PII a,PII b,int i,int j)
{double dis=getdist(a,b);if(!j)add(j,i,dis/v1);else{if(v2*3>=dis)add(j,i,dis/v2);else add(j,i,3+(dis-v2*3)/v1);}
}
void dijkstra()
{priority_queue<pair<double,int>,vector<pair<double,int>>,greater<pair<double,int>>>que;_rep(i,0,n+1)dist[i]=INF;que.push({0,0});dist[0]=0;while(que.size()){auto t=que.top();que.pop();int u=t.se;if(st[u])continue;st[u]=true;for(int i=h[u];~i;i=ne[i]){int j=e[i];double k=w[i];
// cout<<dist[]if(dist[j]>dist[u]+k){dist[j]=dist[u]+k;que.push({dist[j],j});}}}return ;
}
void solve()
{memset(h,-1,sizeof(h));
// cin>>n;sf(n);_rep(i,1,n)sff(q[i].fi,q[i].se);
// cin>>q[i].fi>>q[i].se;sff(q[0].fi,q[0].se);sff(q[n+1].fi,q[n+1].se);
// cin>>q[0].fi>>q[0].se>>q[n+1].fi>>q[n+1].se;
// cin>>v1>>v2;sff(v1,v2);_rep(i,0,n+1)_rep(j,0,i-1){addv(q[i],q[j],i,j);addv(q[j],q[i],j,i);}dijkstra();printf("%.10Lf",dist[n+1]);
// cout<<dist[n+1]<<endl;return ;
}
signed main()
{
// IOS;int T=1;
// cin>>T;while(T--)solve();return 0;
}
I - Barbecue
题意
思路
如果此时查询的子字符串是回文,则Budada直接赢,否则这两个人一定会一直取取到最后一个,判断奇偶即可
可以发现abab...这种形式,删一次的话Putata直接输了,这里可以分类讨论一下
如果是偶数的ababab..这种形式的话Putata删一次就输了所以Putata就输了
假如是偶数但是不是ababab..这种形式的话,删到剩最后一个Putata还是输了
奇数没有特判所以删到最后一个Budada就输了
综上所述:如果此时查询的子字符串是回文,则Budada直接赢,否则偶数Budada赢,奇数Putata赢
代码
#include<bits/stdc++.h>
using namespace std;
#define sf(x) scanf("%lld",&x)
#define sff(x,y) scanf("%lld%lld",&x,&y)
#define endl '\n'
#define IOS ios::sync_with_stdio(false);cin.tie(0);cout.tie(0)
#define pf(x) printf("%lld",x)
#define pii pair<int,int>
#define f first
#define s second
#define int long long
typedef unsigned long long ull;
const int N =1e6+10;
const int P = 133331;ull h[N][3],p[N];
string a,b;
int m,n;
void hx()
{p[0]=1;for(int i=1;i<=m;i++) {p[i]=p[i-1]*P;h[i][1] = h[i-1][1]*P+a[i];h[i][2] = h[i-1][2]*P+b[i]; }
}ull get(int l,int r)
{return h[r][1]-h[l-1][1]*p[r-l+1];
}
ull fget(int l,int r)
{return h[r][2]-h[l-1][2]*p[r-l+1];
}
//
//
//void solve()
{cin>>m>>n;cin>>b;a=b;reverse(b.begin(),b.end());a=" "+a;b=" "+b;hx();while(n--){int l,r;cin>>l>>r;int ll=m-r+1,rr=m-l+1;if(get(l,r)==fget(ll,rr)) cout<<"Budada"<<endl;else {if((r-l)%2)cout<<"Budada"<<endl;else cout<<"Putata"<<endl;}}}
signed main()
{IOS;int _=1;while(_--)solve();return 0;
}
M - BpbBppbpBB
题意
在1000x1000的图中找'8' 'b''p'形状的数量(大小必须相同)
思路
把所有第一次遇到'.'的位置BFS一遍,然后暴力判断这个'.'所在的连通块是否是满足条件的洞如下:
满足的话就把这个连通块左上角(也就是BFS初始进来的点)坐标加入到待选的数组里
由于一个'8'或者'b''p'尺寸为10*17,那么洞的数量最多1000/10*1000/17=5800个,可以两重循环判断洞与洞的关系
最后加入两个洞所在坐标的哈密顿距离=7就说明这两个洞对应一个8,剩余不满足这个条件的洞对应'b''p'即可
代码
#include <map>
#include <set>
#include <queue>
#include <deque>
#include <cmath>
#include <vector>
#include <cstring>
#include <iostream>
#include <algorithm>
#include <unordered_map>
using namespace std;
#define fi first
#define se second
#define u1 (u<<1)
#define u2 (u<<1|1)
#define pb push_back
#define pp pop_back()
#define int long long
#define laile cout<<"laile"<<endl
#define lowbit(x) ((x)&(-x))
#define double long double
#define sf(x) scanf("%lld",&x)
#define sff(x,y) scanf("%lld %lld",&x,&y)
#define sd(x) scanf("%Lf",&x)
#define sdd(x,y) scanf("%Lf %Lf",&x,&y)
#define _for(i,n) for(int i=0;i<(n);++i)
#define _rep(i,a,b) for(int i=(a);i<=(b);++i)
#define _pre(i,a,b) for(int i=(a);i>=(b);--i)
#define all(x) (x).begin(), (x).end()
#define IOS ios::sync_with_stdio(false);cin.tie(0);cout.tie(0)
typedef unsigned long long ULL;
typedef pair<int,int>PII;
typedef pair<double,double>PDD;
const int N=1e3+10,INF=4e18;
int n,m,cnt;
char g[N][N];
int now[N][N];
int dx[4]={0,1,0,-1};
int dy[4]={1,0,-1,0};
bool bfs(int a,int b,int cnt)
{queue<PII>q;now[a][b]=cnt;q.push({a,b});int res=1;while(q.size()){auto t=q.front();q.pop();int xx=t.fi,yy=t.se;_rep(i,0,3){int x=xx+dx[i],y=yy+dy[i];if(x<1||x>n||y<1||y>m||g[x][y]=='#'||now[x][y])continue;now[x][y]=cnt;res++;q.push({x,y});}}if(a+3<=n&&b+2<=m&&b-1>=1&&res==12){vector<PII>v;v.pb({a,b});v.pb({a,b+1});v.pb({a+1,b-1});v.pb({a+1,b});v.pb({a+1,b+1});v.pb({a+1,b+2});v.pb({a+2,b-1});v.pb({a+2,b});v.pb({a+2,b+1});v.pb({a+2,b+2});v.pb({a+3,b});v.pb({a+3,b+1});for(auto i:v)if(now[i.fi][i.se]!=cnt)return false;}else return false;return true;
}
int getdist(PII a,PII b)
{return abs(a.fi-b.fi)+abs(a.se-b.se);
}
void solve()
{vector<PII>v;cin>>n>>m;_rep(i,1,n)_rep(j,1,m)cin>>g[i][j];_rep(i,1,n)_rep(j,1,m)if(g[i][j]=='.'&&!now[i][j])if(bfs(i,j,++cnt))v.pb({i,j});int ba=0;_rep(i,0,(int)v.size()-1)_rep(j,0,i-1)if(getdist(v[i],v[j])==7)ba++;cout<<ba<<" "<<(int)v.size()-ba*2;return;
}
signed main()
{IOS;int T=1;
// cin>>T;while(T--)solve();return 0;
}
相关文章:
2022浙江省赛G I M
G - Easy Glide 题意 思路 由于数据范围比较小(1e3),把所有的移动的时间转化为图论上的边权就可以了,再用dijkstra解决,注意如果用的是邻接表存的话要建双向边 代码 #include <map> #include <set> #include <queue> #include <…...
数据链路层 ——MAC
目录 MAC帧协议 mac地址 以太网帧格式 ARP协议 ARP报文格式编辑 RARP 其他的网络服务或者协议 DNS ICMP协议 ping traceroute NAT技术 代理服务器 网络层负责规划转发路线,而链路层负责在网络节点之间的转发,也就是"一跳"的具体传输…...
在java中都是如何实现这些锁的?或者说都有哪些具体的结构实现
在Java中,多种锁机制的实现依赖于不同的类和接口。以下是一些常见的锁机制及其在Java中的具体实现: 1. 互斥锁(Mutex) 实现方式:Java中的互斥锁可以通过synchronized关键字或ReentrantLock类来实现。synchronized关键…...
用CSS创造三角形案例
6.3.2 用CSS创造三角形 用div来创建,角上是平分的,所以要是内部宽高为0,其他边透明,正好是三角形。 代码 div {border: 12px solid;width: 0;height: 0;border-color: transparent red transparent transparent; } 与伪元素aft…...
matlab-对比两张图片的Ycbcr分量的差值并形成直方图
%对比两张图片的Ycbcr分量的差值并形成直方图,改个路径就能用,图片分辨率要一致 close all; clear all; clc; I1imread(E:\test\resources\image\1.jpg); I2imread(E:\test\resources\image\2.jpg); ycbcr1 rgb2ycbcr(I1); ycbcr2 rgb2ycbcr(I2); % …...
Chromium 使用安全 DNS功能源码分析c++
一、选项页安全dns选项如下图: 二、那么如何自定义安全dns功能呢? 1、先看前端部分代码调用 shared.rollup.jsclass PrivacyPageBrowserProxyImpl {.................................................................getSecureDnsResolverList() {re…...
10.1 刷题
C语言 C...
车辆重识别(2021ICML改进的去噪扩散概率模型)论文阅读2024/9/29
所谓改进的去噪扩散概率模型主要改进在哪些方面: ①对数似然值的改进 通过对噪声的那个方差和T进行调参,来实现改进。 ②学习 这个参数也就是后验概率的方差。通过数据分析,发现在T非常大的情况下对样本质量几乎没有影响,也就是说…...
828华为云征文|针对Flexus X实例云服务器的CPU和内存性能测评
目录 一、Flexus X实例云服务器简介 1.1 产品摘要 1.2 产品优势 1.3 本次测评服务器规格 二、CPU性能测试 2.1 操作说明 2.2 操作步骤 2.2 结果分析 三、测试内存负载 3.1 操作说明 3.2 操作步骤 3.3 结果分析 四、测试终评 一、Flexus X实例云服务器简介 1.1 产品…...
Python知识点:如何使用Google Cloud IoT与Python进行边缘计算
开篇,先说一个好消息,截止到2025年1月1日前,翻到文末找到我,赠送定制版的开题报告和任务书,先到先得!过期不候! 如何使用Google Cloud IoT与Python进行边缘计算 边缘计算作为一种新兴的计算模式…...
力扣 最小覆盖子串
最小覆盖子串 https://leetcode.cn/problems/minimum-window-substring/ 题目描述 题目分析f 覆盖子串:首先根据题意,要求目标字符串的元素必须都在子串中出现过,这表明可以是乱序出现。所以在解决问题是我们需要对子串和目标字符串做匹配&a…...
python的内存管理机制
python的内存管理机制主要分为三个部分:引用计数、垃圾回收和内存池机制。 引用计数机制: python通过维护每个对象的引用计数来跟踪内存中的对象。当对象被创建时就会有一个引用计数,当对象不再被使用时,引用计数为0,…...
阿布量化:基于 Python 的量化交易框架
阿布量化(AbuQuant) 是一个开源的量化交易框架,专为金融领域的研究者和交易者设计。它基于 Python 语言开发,提供了一整套从数据获取、策略开发、回测分析到交易执行的解决方案。阿布量化不仅能够帮助用户快速实现量化策略的设计与…...
计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-09-28
计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-09-28 目录 文章目录 计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-09-28目录前言1. Cognitive phantoms in LLMs through the lens of latent variables摘要研究背景问题与挑战创新点算法模型实验效果…...
【tower-boot 系列】开源RocketMQ和阿里云rockerMq 4.x和5.x集成 (一)
RocketMQ 简单介绍 阿里云rockerMq 4.x和5.x集成 一、云平台创建实例 参考文档: 阿里云api 阿里云 创建实例 二、skd集成思路 公司用的RocketMQ一般是自建开源apache的RocketMQ和上阿里云的RocketMQ,目前阿里云支持4.x和5.x版本 项目集成思路&…...
Pikachu-Cross-Site Scripting-反射型xss(post)
查看源代码 ,这是需要先登录,然后再去做xss攻击 使用admin ,123456 登陆; 登陆后,输入的message 内容直接返回 输入 <script>alert(1)</script> 得到xss攻击结果...
Vue3 工具函数(总结)
目录 前言 1.isRef 2.isReactive 3.isReadonly 4.isProxy 5.toRef 6.toRefs 7.unref 8.shallowRef 9.shallowReactive 10.triggerRef 11.customRef 12.markRaw 13.toRaw 14.readonly 15.watchEffect 前言 在 Vue 3 中,除了核心的响应式 API&#x…...
(undone) MIT6.824 Lab1
参考:http://nil.csail.mit.edu/6.824/2021/labs/lab-mr.html task1: 熟悉讲义,尤其是搞明白如何运行测试程序(完成) ------------------------------------------------ start 先看 Introduction 我们的目标:构建一个MapReduce系统。 细节&…...
SpringMVC——REST
路径请求方式请求行为 查询:GET 新增:POST 修改:PUT 删除:DELETE 有重复的东西怎么办...
【牛客网刷题记录】【java】二叉树
(1)二叉树的前中后遍历 最基本的树的遍历,不会可以重开了 public class Solution {/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** * param root TreeNode类 * return int整型一维…...
一文讲透大语言模型构建流程
最近已有不少大厂都在秋招宣讲了,也有一些在 Offer 发放阶段。 节前,我们邀请了一些互联网大厂朋友、今年参加社招和校招面试的同学。 针对新手如何入门算法岗、该如何准备面试攻略、面试常考点、大模型技术趋势、算法项目落地经验分享等热门话题进行了…...
VR视频怎样进行加密和一机一码的使用?--加密(一)
在视频加密领域,我们常见接触的就是在普通设备上使用的加密视频,如电脑、手机、平板等。Vr的发展和兴起给人们带来最真实的体验感受,不仅在游戏行业应用较广,在一些影院或者元宇宙文旅、展厅等视频场景也备受青睐。 随着VR视频场景…...
Ubuntu启动后第一次需要很久才能启动GTK应用问题
Ubuntu启动后第一次需要很久才能启动GTK应用问题 自从升级了 Ubuntu 之后,设备重启,发现打开 Terminal 、Nautilus 以及其他的GTK 应用都很慢,需要至少一分钟的时间启动。 刚开始也是拿着 journalctl 的异常日志去寻找答案,但是没…...
栏目二:Echart绘制动态折线图+柱状图
栏目二:Echart绘制动态折线图柱状图 配置了一个ECharts图表,该图表集成了数据区域缩放、双Y轴显示及多种图表类型(折线图、柱状图、象形柱图)。图表通过X轴数据展示,支持平滑折线展示比率数据并自动添加百分比标识&…...
Gromacs——使用过程中暴露问题分析及学习
gromacs——突变残基蛋白电场MD和基本分析从入门到发SCIENCE:基于Gromacs的蛋白小分子动态模拟全过程解析水溶性蛋白模拟全过程:从准备蛋白结构文件(top、itp、gro文件生成)到模拟数据分析GromacsGROMACS 教程:蛋白配体…...
Webpack模式-Resolve-本地服务器
目录 ResolveMode配置搭本地服务器区分环境配置 Resolve 前面学习时使用了各种各样的模块依赖,这些模块可能来自于自己编写的代码,也可能来自第三方库,在 Webpack 中,resolve 是用于解析模块依赖的配置项,它决定了 We…...
【LLM论文日更】| 通过指令调整进行零样本稠密检索的无监督文本表示学习
论文:https://arxiv.org/pdf/2409.16497代码:暂未开源机构:Amazon AGI、宾夕法尼亚州立大学领域:Dense Retrieval发表:Accepted at DCAI24 workshopCIKM2024 研究背景 研究问题:这篇文章要解决的问题是如…...
02.01、移除重复节点
02.01、[简单] 移除重复节点 1、题目描述 编写代码,移除未排序链表中的重复节点。保留最开始出现的节点。 2、解题思路 为了实现这一目标,我们可以使用一个哈希表(或集合)来记录已经遇到的节点值,逐步遍历链表并删…...
旅游推荐|旅游推荐系统|基于Springboot+VUE的旅游推荐系统设计与实现(源码+数据库+文档)
旅游推荐系统 目录 基于java的旅游推荐系统设计与实现 一、前言 二、系统功能设计 三、系统实现 四、数据库设计 1、实体ER图 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取: 博主介绍:✌️大厂码农|毕设布道师…...
github项目--crawl4ai
github项目--crawl4ai 输出html输出markdown格式输出结构化数据与BeautifulSoup的对比 crawl4ai github上这个项目,没记错的话,昨天涨了3000多的star,今天又新增2000star。一款抓取和解析工具,简单写个demo感受下 这里我们使用cra…...
淘宝卖东西如何在网站做宣传/网络营销相关工作岗位
随着伊士曼柯达(Eastman Kodak)及美国西屋电气(Westinghouse)等大型企业的消亡,年轻的天才们将创业视为未来的发展方向。有些人甚至完全放弃学业,一头扎进商 业大军,微软创始人比尔盖茨(Bill Gates)、苹果联合创始人史…...
变态版手游/龙岩seo
最近因为脚本用到python的文件复制操作,而且又涉及网络目录,网上比较缺少这块的知识的实例,特此贡献也为自己更好的学习。 对文件的复制操作一般要引入shutil模块: import shutil shutil.copyfile("old","new&qu…...
广东省建设厅网站/今天特大军事新闻
几个月前win10出了新的更新包。隐约记得那段时间中午下楼吃饭,一上来就看到笔记本上显示有更新,提示我找个时间重启一下机器进行系统升级。然后我打开服务页面一看,windows update服务又被开启了,启动方式是触发器启动。可以说这些…...
网站建设买服务器还是数据库/最新足球新闻头条
由于组件提供的方式不同,所以安装的方法也是不一样的,下面就目前常见的各种形式的组 件的安装方法介绍一下。 1. 只有一个DCU文件的组件。DCU文件是编译好的单元文件,这样的组件是作者不想把源 码公布。一般来说,作者必须说明此…...
信誉好的扬中网站建设/网站seo的方法
(1) 0001H * 16 0000H ~ 0001H * 16 FFFFH,也就是 00010H 到 1000FH (2) 最小段地址为1001H,最大段地址为2000H (3) 当段地址小于1001H或者段地址大于2000H的时候。...
wordpress search url/win10优化工具
作为世界级别的电商平台来讲,想要运营好亚马逊店铺肯定是需要很大的困难的,那么接下来我就要告诉你该怎样去运营。 1、给自己店铺产品做测评 亚马逊测评,相信这个词对很多跨境电商卖家来说并不陌生,因为大家都知道它能迅速帮助自…...