暑假刷题第19天--8/1

170. 加成序列 - AcWing题库(dfs+迭代加深--重点理解)

#include<iostream>
using namespace std;
int n;
int a[11];
int dfs(int x,int h){if(x>h+1)return 0;if(a[x-1]==n)return 1;bool st[130]={};for(int i=1;i<=x-1;i++){for(int j=1;j<=i;j++){int sum=a[i]+a[j];if(sum>n||sum<=a[x-1]||st[sum])continue;st[sum]=true;a[x]=sum;if(dfs(x+1,h))return 1;}}return 0;
}
int main(){a[1]=1;while(cin>>n&&n){vis[1]=true;a[1]=1;int p=1;while(!dfs(2,p)){p++;}for(int i=1;i<=p;i++){cout<<a[i]<<' ';}cout<<endl;}
} 

171. 送礼物 - AcWing题库(双向搜索--重点理解)

#include<iostream>
#include<algorithm>
#include<map>
#include<vector>
using namespace std;
#define int long long
int n,w;
int q[1<<24];
int a[50];
int ans=0,cnt,t=0;
void dfs(int x,int sum){if(x>n/2-1){q[t++]=sum;return;}dfs(x+1,sum);if(sum+a[x]<=w)dfs(x+1,sum+a[x]);
}
void dfs1(int x,int sum){if(x>=n){int l=0,r=cnt-1;while(l<r){int mid=(l+r+1)/2;if(q[mid]+sum<=w)l=mid;else {r=mid-1;}}ans=max(q[l]+sum,ans);return;}dfs1(x+1,sum);if(sum+a[x]<=w)dfs1(x+1,sum+a[x]);
}
signed main(){cin>>w>>n;for(int i=0;i<n;i++){cin>>a[i];} sort(a,a+n,greater<int>());dfs(0,0);sort(q,q+t);cnt=unique(q,q+t)-q;dfs1(n/2,0);cout<<ans<<endl;
} 

173. 矩阵距离 - AcWing题库(模板稍微变形)

#include<iostream>
#include<string>
#include<queue>
#include<cstring>
using namespace std;
int n,m;
string s[1005];
int a[1005][1005];
bool vis[1005][1005];
struct node{int xx,yy;int step;
};
int cnt[4][2]={{1,0},{0,1},{-1,0},{0,-1}};
queue<node>q;
int in(int x,int y){if(x>=n||y>=m||x<0||y<0)return 0;return 1;
}
void bfs(){while(!q.empty()){node temp=q.front();q.pop();node t;t.step=temp.step+1;for(int i=0;i<4;i++){t.xx=temp.xx+cnt[i][1];t.yy=temp.yy+cnt[i][0];if(!in(t.xx,t.yy))continue;if(s[t.xx][t.yy]=='0'&&a[t.xx][t.yy]==0)a[t.xx][t.yy]=t.step;if(!vis[t.xx][t.yy])q.push(t);vis[t.xx][t.yy]=true;}}
}
int main(){cin>>n>>m;for(int i=0;i<n;i++){cin>>s[i];}for(int i=0;i<n;i++){for(int j=0;j<m;j++){node t;t.step=0;t.xx=i;t.yy=j;if(s[i][j]=='1')q.push(t),a[i][j]=0,vis[i][j]=true;}}bfs();for(int i=0;i<n;i++){for(int j=0;j<m;j++){cout<<a[i][j]<<' ';}cout<<endl;}
}

B-游游的排列构造_牛客周赛 Round 5 (nowcoder.com)(签到)

#include<iostream>
#include<string>
#include<queue>
#include<cstring>
using namespace std;
int main(){int m,k;cin>>m>>k;int a=m-k+1;int b=1;while(b<m-k+1||a<=m){if(a<=m){cout<<a<<' ';a++;}if(b<m-k+1){cout<<b<<' ';b++;}}
}

C-游游的二进制树_牛客周赛 Round 5 (nowcoder.com)(dfs)

#include<iostream>
#include<string>
#include<queue>
#include<cstring>
#include<map>
using namespace std;
#define ll long long
int n;
ll l,r;
string s;
int ans=0;
map<pair<int,int>,int>ma;
const int N=1005;
const int M=2005;
int h[N],e[M],ne[M],idx;
bool vis[N];
void add(int x,int y){e[idx]=y;ne[idx]=h[x];h[x]=idx++;
}
void dfs(int x,ll sum,int p){vis[x]=true;if(sum>r)return ;else if(sum<=r&&sum>=l&&p==2)ans++;for(int i=h[x];i!=-1;i=ne[i]){int j=e[i];if(!vis[j]){dfs(j,sum*2+s[j-1]-'0',2);}}
}
int main(){cin>>n>>l>>r;cin>>s;memset(h,-1,sizeof(h));for(int i=0;i<n-1;i++){int x,y;cin>>x>>y;if(x==y||ma[{x,y}]==1||ma[{y,x}]==1)continue;add(x,y);add(y,x);ma[{x,y}]=1;ma[{y,x}]=1;}for(int i=1;i<=n;i++){memset(vis,0,sizeof(vis));dfs(i,s[i-1]-'0',1);}cout<<ans<<endl;
}

4122. 字符串转换 - AcWing题库

#include<iostream>
#include<string>
#include<queue>
#include<cstring>
#include<map>
#include<vector>
#include<cstdio>
using namespace std;
#define ll long long
int main(){int t;cin>>t;for(int q=1;q<=t;q++){string s,f;cin>>s>>f;int ans=0;for(int i=0;i<s.size();i++){int cnt=26;for(int j=0;j<f.size();j++){cnt=min(cnt,abs(s[i]-f[j]));cnt=min(cnt,abs(s[i]+26-f[j]));cnt=min(cnt,abs(s[i]-26-f[j]));}ans+=cnt;}printf("Case #%d: %d\n",q,ans);}
}

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

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

相关文章

【ChatGPT】ChatGPT是如何训练得到的?

前言 ChatGPT是一种基于语言模型的聊天机器人&#xff0c;它使用了GPT&#xff08;Generative Pre-trained Transformer&#xff09;的深度学习架构来生成与用户的对话。GPT是一种使用Transformer编码器和解码器的预训练模型&#xff0c;它已被广泛用于生成自然语言文本的各种…

【前端知识】React 基础巩固(四十)——Navigate导航

React 基础巩固(四十)——Navigate导航 一、Navigate的基本使用 新建Login页面&#xff0c;在Login中引入Navigate&#xff0c;实现点击登陆按钮跳转至/home路径下&#xff1a; import React, { PureComponent } from "react"; import { Navigate } from "reac…

HTML5 API 多端通信桥 MessageChannel 技术

这个特别有意思&#xff0c;可以将其理解为通信桥的概念&#xff0c;桥有两个端&#xff08;port1&#xff0c;port2&#xff09;只要将port1&#xff0c;port2指定到任意两个进程&#xff0c;无论是iframe-iframe&#xff0c;iframe-worker&#xff0c;parent-child-iframe&am…

【数据结构】图文并茂,通过逻辑图带你轻松拿捏链表,实现各种接口功能

君兮_的个人主页 勤时当勉励 岁月不待人 C/C 游戏开发 Hello,米娜桑们&#xff0c;这里是君兮_&#xff0c;我们接着之前讲过的顺序表来继续介绍初阶数据结构的内容&#xff0c;今天给大家带来的是有关链表的基本知识和各种接口功能的实现 好了&#xff0c;废话不多说&#x…

英语语法 名词和冠词 详解

目录 一、名词概述 1.基本介绍 : 2.作用 : (在句子中可担任的语法成分) 1 作主语 2 作宾语 3 作表语 4 作定语 5 作同位语 二、专有名词和普通名词 1.专有名词&#xff1a; 1 定义 2 示例 3 关于名词的大小写 2.普通名词&#xff1a; 1 定义 2 示例 3 分类 三、可数名词和不…

kubernetes错误汇总

title: “kubernetes错误汇总” categories: - “技术” tags: - “Kubernetes” - “错误汇总” toc: false original: true draft: false 1、增加 master etcd 报错 1.1、错误描述 由于创建的k8s集群&#xff0c;其中有一个master节点初始化失败&#xff0c;先删除了这个节…

LeetCode 周赛上分之旅 # 36 KMP 字符串匹配殊途同归

⭐️ 本文已收录到 AndroidFamily&#xff0c;技术和职场问题&#xff0c;请关注公众号 [彭旭锐] 和 BaguTree Pro 知识星球提问。 学习数据结构与算法的关键在于掌握问题背后的算法思维框架&#xff0c;你的思考越抽象&#xff0c;它能覆盖的问题域就越广&#xff0c;理解难度…

day50-Insect Catch Game(捉虫游戏)

50 天学习 50 个项目 - HTMLCSS and JavaScript day50-Insect Catch Game&#xff08;捉虫游戏&#xff09; 效果 index.html <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport"…

codeblocks编译lvgl报错

codeblocks编译lvgl报错 1.报错内容2.解决方案3.lvgl本身代码报错 1.报错内容 error: unknown type name _In_opt_ ...2.解决方案 官网下载&#xff1a; 这里的Compiler’s installation directory 选择自带的 3.lvgl本身代码报错 undefined reference to _lv_utils_bse…

面试总结-Redis篇章(九)——Redis主从复制、主从数据同步原理

Redis其他面试问题 主从复制单节点Redis的并发能力是有上限的&#xff0c;要进一步提高Redis的并发能力&#xff0c;就需要搭建主从集群&#xff0c;实现读写分离主节点主要进行客户端的写操作&#xff0c;从节点进行客户端的读操作&#xff0c;因为Redis一直都是读多写少&…

UE5.1.1 创建C++项目失败

因一直使用Unity开发环境&#xff0c;安装Unreal后&#xff0c;并未详细配置过其开发环境&#xff0c;默认创建蓝图工程无异常&#xff0c;但创建UE C项目时总共遇到两个错误&#xff1a; 错误一 Running /Epic/UE/UE_5.1/Engine/Build/BatchFiles/Build.bat -projectfiles -…

flutter项目运行时一直卡在Running Gradle task ‘assembleDebug‘解决办法

1.修改项目中的android/build.gradle&#xff0c;将google()&#xff0c;mavenCentral()替换为下面的代码 maven { url https://maven.aliyun.com/repository/central/ }maven { url https://maven.aliyun.com/repository/public/ }maven { url https://maven.aliyun.com/repos…

<C++>二、类和对象-构造函数

1.类的6个默认成员函数 如果一个类中什么成员都没有&#xff0c;简称为空类。 空类中真的什么都没有吗&#xff1f;并不是&#xff0c;任何类在什么都不写时&#xff0c;编译器会自动生成以下6个默认成员函数。 默认成员函数&#xff1a;用户没有显式实现&#xff0c;编译器会生…

【Linux多线程】死锁问题介绍

死锁 &#x1f96d;什么是死锁&#x1f965;死锁产生的条件&#x1f95d;如何避免死锁&#x1f345; 避免死锁算法 &#x1f96d;什么是死锁 死锁是多线程或多进程编程中的一种常见问题&#xff0c;指的是两个或多个线程&#xff08;或进程&#xff09;相互等待对方持有的资源&…

位操作相关的函数(C++)

目录 popcount函数 bitset类模板 __builtin_popcount函数 popcount函数 在C中&#xff0c;std::popcount函数是用来计算一个整数二进制表示中包含的1的个数。不过要注意&#xff0c;这个函数是C20标准引入的&#xff0c;因此在使用之前&#xff0c;要先确保编译器支持C20标…

Redis 理论部分

前面写了很多redis项目&#xff0c;今天在通过redis的理论加深redis的了解&#xff0c;顺便做个总结 Redis 理论部分 1.redis 速度快的原因 纯内存操作单线程操作&#xff0c;避免频繁的上下文切换以及资源争用的问题&#xff0c;多线程需要占用更多的cpu资源采用非阻塞I/O多…

搜索二叉树_SearchBinaryTree

目录 搜索二叉树的原理 搜索二叉树的搜索时间复杂度 二叉搜索树实现_key 模型 节点 构造函数 查找 中序遍历 插入 循环 递归 删除 循环 1.删除叶子节点 2.删除有一个孩子的节点 3.左右孩子都不为空 递归 析构函数 拷贝构造 operator key_value 模型 节点 …

Mysql触发器

1.触发器 触发器是与表有关的数据库对象&#xff0c;指在 insert / update / delete 之前或之后&#xff0c;触发并执行触发器中定义的SL语句集合。触发器的这种特性可以协助应用在数据库端确保数据的完整性&#xff0c;日志记录&#xff0c;数据校验等操作。 使用别名 OLD 和 …

C#常用数学插值法

目录 1、分段线性插值 2、三次样条插值 3、拉格朗日插值 &#xff08;1&#xff09;一元全区间不等距插值 &#xff08;2&#xff09;一元全区间等距插值 4、埃尔米特插值 &#xff08;1&#xff09;埃尔米特不等距插值 &#xff08;2&#xff09;埃尔米特等距插值 1、…

mysql安装教程保姆级

MySQL免安装本地运行 1.下载MySQL2.创建install.bat3.init.sql 初始创建4.环境变量配置5.运行 install.bat 管理员权限运行6.连接成功遇到的问题 1.下载MySQL ①地址&#xff1a;https://downloads.mysql.com/archives/community/ ②解压 2.创建install.bat 放在mysql>b…