洛谷100题DAY6

26.P1628 合并序列

法一:

#include<bits/stdc++.h>
using namespace std;
const int N = 1e5 + 10;
int n, cnt;
string c, s[N], a[N];
int main()
{cin >> n;for(int i = 1; i <= n; i ++){cin >> s[i];}cin >> c;int len = c.size();for(int i = 1; i <= n; i ++){if(s[i].substr(0, len) == c){cnt ++;a[cnt] = s[i];}}sort(a + 1, a + 1 + cnt);for(int i = 1; i <= cnt; i ++){cout << a[i] << '\n';}return 0;
}

法二:

使用find函数,其是指向搜索范围内第一个元素

#include<bits/stdc++.h>
using namespace std;
const int N = 1e5 + 10;
int n, cnt;
string c, s[N], a[N];
int main()
{cin >> n;for(int i = 1; i <= n; i ++){cin >> s[i];}cin >> c;sort(s + 1, s + 1 + n);for(int i = 1; i <= n; i ++){if(s[i].find(c) == 0)cout << s[i] << '\n';}return 0;
}

27.P1403 [AHOI2005] 约数研究

约数个数 = 将约数拆解成每个质因子乘积的形式,每次将质因子出现的个数+1后相乘得到约数个数,普通一次一次模板计算会有超时现象

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 110, mod = 1e9 + 7;
ll n, ans, primes[N];
ll solve(int x)
{unordered_map<int, int> primes;for(int i = 2; i <= x / i; i ++){while(x % i == 0){x /= i;primes[i] ++;}}if(x > 1)primes[x] ++;ll res = 1;for(auto i : primes){res = res * (i.second + 1) % mod;}return res;
}
int main()
{cin >> n;for(int i = 1; i <= n; i ++){ans += solve(i);}cout << ans;return 0;
}

AC写法:

 每次到自己就将自己可以贡献的所有约数个数不断加起来

#include<bits/stdc++.h>
using namespace std;
int n, ans;
int main()
{cin >> n;for(int i = 1; i <= n; i ++){for(int j = i; j <= n; j += i){ans ++;}}cout << ans;return 0;
}

28.P1644 跳马问题

法一:

#include<bits/stdc++.h>
using namespace std;
int dx[4] = {-2, -1, 1, 2};
int dy[4] = {1, 2, 2, 1};
int n, m, ans;
void dfs(int x, int y)
{if(x == m && y == n){ans ++;return;}for(int i = 0; i < 4; i ++){int a = x + dx[i];int b = y + dy[i];if(a >= 0 && a <= m && b >= 0 && b <= n){dfs(a, b);}}
}
int main()
{cin >> m >> n;dfs(0, 0);cout << ans;return 0;
}

法二:

#include<bits/stdc++.h>
using namespace std;
int dy[4] = {-2, -1, 1, 2};
int dx[4] = {- 1, - 2, - 2, - 1};
const int N = 1e3 + 10;
int n, m, dp[N][N];
int main()
{cin >> n >> m;dp[0][0] = 1;for(int i = 0; i <= m; i ++){for(int j = 0; j <= n; j ++){for(int k = 0; k < 4; k ++){int a = i + dx[k];int b = j + dy[k];if(a < 0 || a > m || b < 0 || b > n)continue;dp[i][j] += dp[a][b];}}}cout << dp[m][n];
}

29.P1122 最大子树和

将每朵花的两条边相连,进行dfs,传入两个参数即为当前节点与当前节点的父亲节点,dp[x]为当前节点的值,将与当前节点的值循环遍历一遍,如果现节点是当前节点的父亲则跳过,因为其是不断向下递归,只用向下的点是大于0的则一定会对答案有所贡献,现在每一个dp的值都代表了自己所能到达的最大范围,最后将每一个点遍历,找出最大的那个可以取到的和

#include<bits/stdc++.h>
using namespace std;
const int N = 1e6 + 10;
int n, u, v, w[N], dp[N];
vector<int> g[N];
void dfs(int x, int fa)
{dp[x] = w[x];for(auto y : g[x]){if(y == fa)continue;dfs(y, x);if(dp[y] > 0)dp[x] += dp[y];}
}
int main()
{cin >> n;for(int i = 1; i <= n; i ++)cin >> w[i];for(int i = 1; i <= n - 1; i ++){cin >> u >> v;g[u].push_back(v);g[v].push_back(u);}dfs(1, 0);int ans = w[1];for(int i = 1; i <= n; i ++){ans = max(ans, dp[i]);}cout << ans;return 0;
}

30.P1510 精卫填海

dp[i]表示到目前为止,得到总体积为i的木石所需的最小体力,输出最大体力相减即可

#include<bits/stdc++.h>
using namespace std;
const int N = 1e5 + 10;
int v, n, c, k[N], m[N], dp[N];
//dp[i]表示到目前为止,得到总体积为i的木石所需的最小体力 
int main()
{cin >> v >> n >> c;for(int i = 1; i <= n; i ++){cin >> k[i] >> m[i];}memset(dp, 0x3f, sizeof dp);dp[0] = 0;for(int i = 1; i <= n; i ++){for(int j = 1e4 + 10; j >= k[i]; j --){dp[j] = min(dp[j], dp[j - k[i]] + m[i]);}}int ans = dp[v];for(int i = v; i <= 2e4; i ++){ans = min(ans, dp[i]);}if(c >= ans)cout << c - ans;else cout << "Impossible" << '\n';return 0;
}

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

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

相关文章

PHP初中高级1000道面试题大全(持续更新中50/1000)

目录 1、echo(),print(),print_r(),var_dump()的区别? 2、表单中 get与post提交方法的区别? 3、session与cookie的区别? 4、请说明 PHP 中传值与传引用的区别。什么时候传值什么时候传引用&#xff1f; 5、请解释PHP中的PDO是什么&#xff1f; 6、请解释PHP中的抽象类和…

可转债实战与案例分析——成功的和失败的可转债投资案例、教训与经验分享

实战与案例分析——投资案例研究 股票量化程序化自动交易接口 一、成功的可转债投资案例 成功的可转债投资案例提供了有价值的经验教训&#xff0c;以下是一个典型的成功案例&#xff1a; 案例&#xff1a;投资者B的成功可转债投资 投资者B是一位懂得风险管理的投资者&#…

idea如何关闭项目文件显示的浏览器图标

这里写自定义目录标题 1.idea经常项目文件右上角弹出图标2.setting中Tools 取消勾选浏览器 1.idea经常项目文件右上角弹出图标 2.setting中Tools 取消勾选浏览器

【postgresql 基础入门】表的操作,表结构查看、修改字段类型、增加删除字段、重命名表,对表的操作总是比别人棋高一着

表的操作 ​专栏内容&#xff1a; postgresql内核源码分析手写数据库toadb并发编程 ​开源贡献&#xff1a; toadb开源库 个人主页&#xff1a;我的主页 管理社区&#xff1a;开源数据库 座右铭&#xff1a;天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子…

C语言 ,不用string.h的函数,实现A+B A-B的字符串处理功能。

请输入A串信息:abcdef 请输入B串信息:ac abcdefac B串的长度是:2 B不是A的子串&#xff0c;请重新输入B的值: ad B不是A的子串&#xff0c;请重新输入B的值: abcde A-B后的结果是:f #include <stdio.h>#define MAX 100void fun(char* a, char *b, char *c) {int ai 0;…

Zabbix

Zabbix简介 ●zabbix 是一个基于 Web 界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。 ●zabbix 能监视各种网络参数&#xff0c;保证服务器系统的安全运营&#xff1b;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。 ●zabbix 由 2 部…

centost7下安装oracle11g 总结踩坑

1.参考文章 【总结】CentoS下Oracle静默安装流程_正在启动oracle universal installer..._仲冬二三的博客-CSDN博客 https://blog.csdn.net/Liqiong_0412/article/details/126153857? unset DISPLAY 可以跳过图形化检查 这边也卡了很久 [oraclewangmengyuan database]$ .…

创造您梦寐以求的家居设计——Live Home 3D Pro for Mac

您是否曾经想象过在舒适的家中展现自己独特的风格&#xff1f;现在&#xff0c;您可以通过Live Home 3D Pro for Mac来实现您的家居设计梦想&#xff01;这款强大的3D家居设计软件将带给您无限的创作可能性。 Live Home 3D Pro for Mac是一款专业级的家居设计软件&#xff0c;…

Visual Studio 更新:远程文件管理器

Visual Studio 中的远程文件管理器可以用来访问远程机器上的文件和文件夹&#xff0c;通过 Visual Studio 自带的连接管理器&#xff0c;可以实现不离开开发环境直接访问远程系统&#xff0c;这确实十分方便。 自从此功能发布以来&#xff0c;VS 开发团队努力工作&#xff0c;…

算法通关村-----数组中元素出现次数问题

数组中出现次数超过一半的数字 问题描述 数组中有一个数字出现的次数超过数组长度的一半&#xff0c;请找出这个数字。你可以假设数组是非空的&#xff0c;并且给定的数组总是存在多数元素。详见剑指offer39 问题分析 最直接的方式就是使用hashMap,遍历给定数组&#xff0c…

基于STC15单片机电子时钟液晶1602串口显示-proteus仿真-源程序

一、系统方案 1、本设计采用STC15单片机作为主控器。 2、液晶1602显示电子时钟。 3、串口显示电子时钟。 4、按键控制开启暂停清零。 二、硬件设计 原理图如下&#xff1a; 三、单片机软件设计 1、首先是系统初始化 uint count0; uint8 strPhoto[8]; uint wendu0;P3M0 0x…

如何选择适合爬虫的动态住宅套餐

在当今互联网时代&#xff0c;爬虫已经成为了一项非常重要的技术。爬虫技术可以帮助企业和个人获取大量的数据&#xff0c;从而进行数据分析和决策。但是&#xff0c;要想让爬虫技术发挥最大的作用&#xff0c;就需要选择一款动态住宅套餐。那么&#xff0c;在选择动态住宅套餐…

1.3python基础语法——PyCharm

1&#xff09;PyCharm的作用 python的集成开发环境&#xff0c;功能如下&#xff1a; Project管理 智能提示 语法高亮 代码跳转 调试代码 解释代码(解释器) 框架和库 2&#xff09;下载与安装 下载地址&#xff1a;http://www.jetbrains.com/pycharm/download/#sectionwind…

进阶指针(一)

✨博客主页&#xff1a;小钱编程成长记 &#x1f388;博客专栏&#xff1a;进阶C语言 进阶指针&#xff08;一&#xff09; 0.回顾初阶指针1.字符指针1.1 相关面试题 2.数组指针3.指针数组3.1 数组指针的定义3.2 &数组名VS数组名3.3 数组指针的使用 4.数组传参和指针传参4.…

Linux中配置sudo用户访问权限

一、如何在 Linux 中配置 sudo 的访问权限 1.1、添加一个Linux普通用户有 sudo 权限 [root@localhost ~]# useradd test // 创建一个普通用户为:test [root@localhost ~]# [root@localhost ~]# passwd test // 设置用户test密码为:test Changing password for user te…

C# Onnx Yolov8 Cls 分类

效果 项目 代码 using Microsoft.ML.OnnxRuntime; using Microsoft.ML.OnnxRuntime.Tensors; using OpenCvSharp; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System…

Jenkins学习笔记1

CI 服务器&#xff1a; 认识Jenkins&#xff1a; Jenkins是一个可扩展的持续集成&#xff08;CI&#xff09;引擎&#xff0c;是一个开源项目&#xff0c;旨在提供一个开放易用的软件平台&#xff0c;使得软件持续集成变成可能。Jenkins非常易于安装和配置&#xff0c;简单易…

什么是SVG(可缩放矢量图形)?它与普通图像格式有何不同?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 什么是SVG&#xff1f;⭐ 与普通图像格式的不同⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 欢迎来到前端入门之旅&#xff01;感兴趣的可以订阅本专栏哦&#xff01;这个专栏是为那些对Web开发感兴趣、刚刚…

Tomcat多实例+Nginx动静分离、负载均衡

这里写目录标题 Tomcat多实例动静分离、负载均衡一、Tomcat多实例部署1、安装JDK2、安装启动tomcat 二、NginxTomcat负载均衡、动静分离1、Nginx负载均衡实现原理1.1 原理1.2 Nginx配置反向代理的主要参数 2、Nginx动静分离实现原理2.1 原理2.2 Nginx静态处理优势 3、动静分离配…

jvm-sandbox-repeater源码解析-配置管理

一、配置初见 源码里提供的控制台截图如下&#xff1a;&#xff08;怎么搭建自己去百度&#xff09; 从中取出对应的配置如下&#xff1a; { "degrade": false, //阻断能力 "exceptionThreshold": 1000, //异常采样率 "httpEntrancePatterns&qu…