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

SMU Summer 2024 Contest Round 2

[ABC357C] Sierpinski carpet - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

思路:通过因为图形的生成过程是完全一样的。可以通过递归,不断分形。函数process(x,y,k)定义为以坐标(x,y)为左上角,填充sqrt3(k)级的地毯。

int n;
int c[800][800];        默认全为0,  0对应'.'  1对应'#'
void process(int x,int y,int k){      填充左上角为x,y的sqrt3(k)级地毯if(k==0) {c[x][y]=1;  base casereturn;}int t=k/3;process(x,y,t);process(x,y+t,t);process(x,y+t*2,t);process(x+t,y,t);//process(x+t,y+t,t);  留白process(x+t,y+t*2,t);process(x+t*2,y,t);process(x+t*2,y+t,t);process(x+t*2,y+t*2,t);
}
[ABC357C] Sierpinski carpet
https://www.luogu.com.cn/problem/AT_abc357_c
void solve(){           补A--递归 分型  "好题"  要清楚是怎么'跳跃',分型的,bask case是什么cin>>n;int t=pow(3,n);process(1,1,t);for(int i=1;i<=t;i++){for(int j=1;j<=t;j++){if(c[i][j]) cout<<"#";else cout<<".";}cout<<endl;}
}
//    ######### ######### #########
//    #.##.##.# #.##.##.# #.##.##.#
//    ######### ######### #########
//    ###...### ###...### ###...###
//    #.#...#.# #.#...#.# #.#...#.#
//    ###...### ###...### ###...###
//    ######### ######### #########
//    #.##.##.# #.##.##.# #.##.##.#
//    ######### ######### #########
//
//    ######### ......... #########
//    #.##.##.# ......... #.##.##.#
//    ######### ......... #########
//    ###...### ......... ###...###
//    #.#...#.# ......... #.#...#.#
//    ###...### ......... ###...###
//    ######### ......... #########
//    #.##.##.# ......... #.##.##.#
//    ######### ......... #########
//
//    ######### ######### #########
//    #.##.##.# #.##.##.# #.##.##.#
//    ######### ######### #########
//    ###...### ###...### ###...###
//    #.#...#.# #.#...#.# #.#...#.#
//    ###...### ###...### ###...###
//    ######### ######### #########
//    #.##.##.# #.##.##.# #.##.##.#
//    ######### ######### #########

[ABC325D] Printing Machine - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

思路:写的有点迷糊的贪心题。显而易见的是,在L相同的情况下,肯定是先选择R更小的。

所以可以把输入按照L从小到大排列,依次处理,L相同的 按L+R从小到大排列。之后怎么处理呢?

一秒一秒枚举时间是不可能的。但是可以知道的是,中间有很多间隔是没意义的。

那么可以从time=1开始,把开始时间L与当前时间一样的的物品的右区间放入优先队列中。之后一个一个取。直到队列为空。要注意的是!当且仅当队列为空时,才判断time跳跃到下一个区间的开始时间L。不然的话可能优先队列里面还有物品,并且时间大于time。仍然可以取,但是因为提前跳跃了,导致没取到。

int n;
pair<int,int> arr[200005];
//multiset<pair<int,int>> mst;
画个时间区间轴。
[ABC325D] Printing Machine
https://www.luogu.com.cn/problem/AT_abc325_d
void solve(){               补D--贪心 "好题"  太头疼了这个题。。cin>>n;for(int i=1;i<=n;i++) {cin>>arr[i].first>>arr[i].second;arr[i].second=arr[i].first+arr[i].second;}sort(arr+1,arr+n+1);     按l从小到大排序,l相等的话,按l+r从小到大排序.priority_queue<int,vector<int>,greater<int>> pq;int ans=0,idx=1,time=1;while(idx<=n||pq.size()){//if(arr[idx].first!=time&&idx<=n) time=arr[idx].first;   这个代码会导致直接跳过很多if(pq.size()==0&&idx<=n) time=arr[idx].first;while(idx<=n&&arr[idx].first==time) {pq.emplace(arr[idx++].second);}while(pq.size()&&pq.top()<time) pq.pop();if(pq.size()) ans++,pq.pop();time++;}cout<<ans;
}
//的确是贪心,但是策略不对
//优先选晚结束或者早结束的贪心策略都不对:hack:
//expect:4   answer:3
//key:这个样例的问题是怎么处理在第三秒时候的选择.也是这题的关键.
5
1 3 [1,4] 1s
1 3 [1,4] 2s
1 3 [1,4] 3s
2 1 [2,3]
2 1 [2,3]

 [ABC299E] Nearest Black Vertex - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

 思路:这个题不难出思路,也不难实现。注意细节即可。

o(k*n)预处理出每个pi满足约束时需要成为黑点的候选点mayBlack[pi]。同时记录不可能成为黑点的点notBlack.即在di范围内的点。
最后遍历每一个候选点的mayBlack[pi],排除不可能的点。如果某一个mayBlack[pi]里的点都是不可能的点notBlack,那么No,否则Yes.

yes的时候直接把所有非notBlack的点涂黑即可。

int n,m,k;
vector<int> vct[2005];
vector<int> mark,mayBlack[2005];
unordered_map<int,bool> notBlack;
思路:--AC
o(k*n)预处理出每个pi需要成为黑点的候选点。同时记录不可能成为黑点的点.即在di范围内的点。
最后遍历每一个候选点,排除不可能的点。如果某一个mayBlack[pi]里的点都是不可能的点,那么No,否则Yes.
[ABC299E] Nearest Black Vertex  ---全1,不能用01bfs
https://www.luogu.com.cn/problem/AT_abc299_e
void bfs(int s,int d){int dis[2005]={0};queue<int> que;que.emplace(s);while(que.size()){int cur=que.front();que.pop();notBlack[cur]=true;for(auto v:vct[cur]){if(dis[v]!=0||v==s) continue;dis[v]=dis[cur]+1;if(dis[v]!=d) que.emplace(v);else mayBlack[s].emplace_back(v);}}
}
void solve(){       E  至少有一个顶点被涂成黑色。。cin>>n>>m;for(int i=1;i<=m;i++){int u,v; cin>>u>>v;vct[u].emplace_back(v);vct[v].emplace_back(u);}cin>>k;for(int i=1;i<=k;i++){      o(k*n)int p,d; cin>>p>>d;mark.emplace_back(p);if(d==0) mayBlack[p].emplace_back(p);else bfs(p,d);}bool check=true;for(auto mk:mark){                  o(k*n)int cnt=0;for(auto mb:mayBlack[mk]){if(notBlack[mb]) cnt++;}if(cnt==mayBlack[mk].size()) check=false;if(!check) break;}if(check){           notBlack.size()==n也是可以的cout<<"Yes"<<endl;for(int i=1;i<=n;i++) {if(notBlack[i]) cout<<"0";else cout<<"1";}}else cout<<"No"<<endl;
}

相关文章:

SMU Summer 2024 Contest Round 2

[ABC357C] Sierpinski carpet - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 思路:通过因为图形的生成过程是完全一样的。可以通过递归&#xff0c;不断分形。函数process(x,y,k)定义为以坐标(x,y)为左上角,填充sqrt3(k)级的地毯。 int n; int c[800][800]; 默认全为…...

Qt:11.输入类控件(QLineEdit-单行文本输入控件、QTextEdit-多行文本输入控件、QComboBox-下拉列表的控件)

一、QLineEdit-单行文本输入控件&#xff1a; 1.1QLineEdit介绍&#xff1a; QLineEdit 是 Qt 库中的一个单行文本输入控件&#xff0c;不能换行。允许用户输入和编辑单行文本。 1.2属性介绍&#xff1a; inputMask 设置输入掩码&#xff0c;以限定输入格式。setInputMask(con…...

Qt 音频编程实战项目

一Qt 音频基础知识 QT multimediaQMediaPlayer 类&#xff1a;媒体播放器&#xff0c;主要用于播放歌曲、网络收音 机等功能。QMediaPlaylist 类&#xff1a;专用于播放媒体内容的列表。 二 音频项目实战程序 //版本5.12.8 .proQT core gui QT multimedia greate…...

C#委托事件的实现

1、事件 在C#中事件是一种特殊的委托类型&#xff0c;用于在对象之间提供一种基于观察者模式的通知机制。 1.1、事件的发送方定义了一个委托&#xff0c;委托类型的声明包含了事件的签名&#xff0c;即事件处理器方法的签名。 1.2、事件的订阅者可以通过运算符来注册事件处理器…...

Java策略模式在动态数据验证中的应用

在软件开发中&#xff0c;数据验证是一项至关重要的任务&#xff0c;它确保了数据的完整性和准确性&#xff0c;为后续的业务逻辑处理奠定了坚实的基础。然而&#xff0c;不同的数据来源往往需要不同的验证规则&#xff0c;如何在不破坏代码的整洁性和可维护性的同时&#xff0…...

【Linux】shell基础知识点(updating)

1.输出重定向2.多命令批量执行&#xff08;; 、&&、 ||&#xff09;3.脚本不同方式执行的区别&#xff08;source、bash、sh、./&#xff09;4.理解环境变量5.export6.引号的使用last.命令相关 1.输出重定向 3种数据流&#xff1a; stdin&#xff1a;标准输入&#xf…...

Python基础练习•二

# ## Python编程入门作业 # # ### 选择题 # 1. 假设等号右侧变量都已知的情况下&#xff0c;下列哪个语句在Python中是⾮法的&#xff1f;&#xff08; B &#xff09; # A. x y z 1 # B. x (y z 1) # C. x, y y, x # D. x y # 2. 关于Python变量&#xff0c;下列…...

智慧科技照亮水利未来:深入剖析智慧水利解决方案如何助力水利行业实现高效、精准、可持续的管理

目录 一、智慧水利的概念与内涵 二、智慧水利解决方案的核心要素 1. 物联网技术&#xff1a;构建全面感知网络 2. 大数据与云计算&#xff1a;实现数据高效处理与存储 3. GIS与三维可视化&#xff1a;提升决策支持能力 4. 人工智能与机器学习&#xff1a;驱动决策智能化 …...

Vue3学习笔记(n.0)

vue指令之v-for 首先创建自定义组件&#xff08;practice5.vue&#xff09;&#xff1a; <!--* Author: RealRoad1083425287qq.com* Date: 2024-07-05 21:28:45* LastEditors: Mei* LastEditTime: 2024-07-05 21:35:40* FilePath: \Fighting\new_project_0705\my-vue-app\…...

基于Spring Boot的在线考试系统

您好&#xff01;我是专注于计算机技术研究的码农小野。如果您对在线考试系统感兴趣或有相关开发需求&#xff0c;欢迎随时联系我。 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;Spring Boot框架&#xff0c;Java技术 工具&#xff1a;Eclipse&…...

Day65 代码随想录打卡|回溯算法篇---组合总和II

题目&#xff08;leecode T40&#xff09;&#xff1a; 给定一个候选人编号的集合 candidates 和一个目标数 target &#xff0c;找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的每个数字在每个组合中只能使用 一次 。 注意&#xff1a;解集不能包含…...

C++ 入门03:函数与作用域

往期回顾&#xff1a; C 入门01&#xff1a;初识 C-CSDN博客C 入门02&#xff1a;控制结构和循环-CSDN博客 一、前言 在前面的文章学习中&#xff0c;我们了解了C语言的基础&#xff0c;包括如何定义变量来存储数据&#xff0c;以及如何利用输入输出流实现程序与用户之间的无缝…...

在Linux/Debian/Ubuntu中出现“Could not get lock /var/lib/dpkg/lock-frontend”问题的解决办法

在Linux/Debian/Ubuntu中出现“Could not get lock /var/lib/dpkg/lock-frontend”问题的解决办法 在使用 apt 或 apt-get 进行软件包管理时&#xff0c;有时会遇到以下错误提示&#xff1a; Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporari…...

odoo中的钩子 Hooks

钩子 钩子&#xff08;Hooks&#xff09;是一种在特定时间点或特定事件发生时执行自定义代码的机制。它们允许开发者在不修改核心代码的情况下&#xff0c;为Odoo添加自定义功能或扩展现有功能。以下是关于Odoo钩子的一些关键点和常见用法&#xff1a; 一、钩子的类型 pre_i…...

05.C1W4.Machine Translation and Document Search

往期文章请点这里 目录 OverviewWhat you’ll be able to do!Learning Objectives Transforming word vectorsOverview of TranslationTransforming vectors Align word vectorsSolving for RFrobenius normFrobenius norm squaredGradient K nearest neighborsFinding the tr…...

计算机网络——数据链路层(点对点协议PPP)

点对点协议PPP的概述 对于点对点的链路&#xff0c;目前使用得最广泛的数据链路层协议是点对点协议 PPP (Point-to-Point Protocol)。 它主要应用于两个场景&#xff1a; 用户计算机与ISP之间的链路层协议就是点对点协议 PPP&#xff0c;1999年公布了回以在以太网上运行的PPP协…...

信息安全概述

名词解释 大数据&#xff1a;指的是所涉及的资料量规模巨大到无法透过主流软件工具&#xff0c;在合理时间内达到撷取、管理、处理、并整理成为帮助企业经营决策更积极目的的资讯。 云计算&#xff1a;是指通过网络提供计算资源&#xff08;如服务器、存储、数据库、软件开发…...

UE5.3-基础蓝图类整理一

常用蓝图类整理&#xff1a; 1、获取当前关卡名&#xff1a;Get Current LevelName 2、通过关卡名打开关卡&#xff1a;Open Level(by name) 3、碰撞检测事件&#xff1a;Event ActorBeginOverlap 4、获取当前player&#xff1a;Get Player Pawn 5、判断是否相等&#xff1…...

Python面试题: 如何在 Python 中实现一个线程池?

在 Python 中&#xff0c;实现线程池可以使用内置的 concurrent.futures 模块&#xff0c;该模块提供了一个高层次的接口来管理并发任务。ThreadPoolExecutor 类是实现线程池的主要工具。以下是一些使用示例&#xff0c;展示如何在 Python 中实现和使用线程池&#xff1a; 1. …...

☺初识c++(语法篇)☺

目录 一命名空间&#xff08;namespace&#xff09;&#xff1a; 二cout与cin简述&#xff1a; 三缺省参数&#xff1a; 四函数重载&#xff1a; 五引用&#xff1a; 六内联函数: 七c中的nullptr简述&#xff1a; 一命名空间&#xff08;namespace&#xff09;&#xff1…...

【Linux】shell脚本忽略错误继续执行

在 shell 脚本中&#xff0c;可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行&#xff0c;可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令&#xff0c;并忽略错误 rm somefile…...

工业安全零事故的智能守护者:一体化AI智能安防平台

前言&#xff1a; 通过AI视觉技术&#xff0c;为船厂提供全面的安全监控解决方案&#xff0c;涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面&#xff0c;能够实现对应负责人反馈机制&#xff0c;并最终实现数据的统计报表。提升船厂…...

python/java环境配置

环境变量放一起 python&#xff1a; 1.首先下载Python Python下载地址&#xff1a;Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个&#xff0c;然后自定义&#xff0c;全选 可以把前4个选上 3.环境配置 1&#xff09;搜高级系统设置 2…...

Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件

今天呢&#xff0c;博主的学习进度也是步入了Java Mybatis 框架&#xff0c;目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学&#xff0c;希望能对大家有所帮助&#xff0c;也特别欢迎大家指点不足之处&#xff0c;小生很乐意接受正确的建议&…...

Nuxt.js 中的路由配置详解

Nuxt.js 通过其内置的路由系统简化了应用的路由配置&#xff0c;使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...

2025 后端自学UNIAPP【项目实战:旅游项目】6、我的收藏页面

代码框架视图 1、先添加一个获取收藏景点的列表请求 【在文件my_api.js文件中添加】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口&#xff08;适配服务端返回 Token&#xff09; export const login async (code, avatar) > {const res await http…...

安宝特案例丨Vuzix AR智能眼镜集成专业软件,助力卢森堡医院药房转型,赢得辉瑞创新奖

在Vuzix M400 AR智能眼镜的助力下&#xff0c;卢森堡罗伯特舒曼医院&#xff08;the Robert Schuman Hospitals, HRS&#xff09;凭借在无菌制剂生产流程中引入增强现实技术&#xff08;AR&#xff09;创新项目&#xff0c;荣获了2024年6月7日由卢森堡医院药剂师协会&#xff0…...

解读《网络安全法》最新修订,把握网络安全新趋势

《网络安全法》自2017年施行以来&#xff0c;在维护网络空间安全方面发挥了重要作用。但随着网络环境的日益复杂&#xff0c;网络攻击、数据泄露等事件频发&#xff0c;现行法律已难以完全适应新的风险挑战。 2025年3月28日&#xff0c;国家网信办会同相关部门起草了《网络安全…...

「全栈技术解析」推客小程序系统开发:从架构设计到裂变增长的完整解决方案

在移动互联网营销竞争白热化的当下&#xff0c;推客小程序系统凭借其裂变传播、精准营销等特性&#xff0c;成为企业抢占市场的利器。本文将深度解析推客小程序系统开发的核心技术与实现路径&#xff0c;助力开发者打造具有市场竞争力的营销工具。​ 一、系统核心功能架构&…...

Oracle11g安装包

Oracle 11g安装包 适用于windows系统&#xff0c;64位 下载路径 oracle 11g 安装包...