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

洛谷练习(8.4/8.5)

题目

  • P2036 PERKET
    • 题目描述
    • 思路
    • 代码
  • P3799 小 Y 拼木棒
    • 题目描述
    • 思路
    • 代码
  • P1010 幂次方
    • 题目描述
    • 思路
    • 代码
  • P1498 南蛮图腾
    • 题目描述
    • 思路
    • 代码
  • P1928 外星密码
    • 题目描述
    • 思路
    • 代码

P2036 PERKET

题目描述

比较苦度和酸度的最小差值

思路

搜索最小差值

代码

void dfs(int sd,int kd,int cnt)
{if(cnt==n){int sum=abs(sd-kd);if(sum<summ&&kd!=0) summ=sum;//定义summ为一个特别大的数不断更新return ;}cnt++;dfs(sd*s[cnt],kd+b[cnt],cnt);//加上这个数dfs(sd,kd,cnt);//不加当前数
}
signed main()
{long long suma=1,sumb=0,sum=0;cin>>n;for(int i=1;i<=n;i++){cin>>s[i]>>b[i];dfs(1,0,0);} 	cout<<summ;return 0;
}

P3799 小 Y 拼木棒

题目描述

选取4根木棒摆成正三角形

思路

计算不同长度木棍的数量,排列组合

代码

int main() 
{long long n,count[50000]={0},a,sum=0,ans=0;cin >> n;for (int i = 1; i <= n; i++){cin >> a;count[a]++;//计数}   for (int i = 1; i <= 2500; i++) //因为最大值5000,因为两个数相加所以不超2500for (int j = i ; j <= 5000-i; j++){int c1=count[i];int c2=count[j];//两种短棍的数量int c3=count[i+j];//长棍的数量if(c3>=2){if(i==j&&c1>=2)//正好i等于j{sum=c1*(c1-1)/2*c3*(c3-1)/2%1000000007;//就是从c1个数中选两个,再从c3个数中选两个ans+=sum;}if(i!=j&&c1>=1&&c2>=1){sum=c1*c2*c3*(c3-1)/2%1000000007;//从c1,c2中各选一个,在c3中选两个ans+=sum;}}}      cout << ans%1000000007;//数值太大要取模return 0;
}

P1010 幂次方

题目描述

把一个数用全是2或者0,表示出来

思路

递归/分治,先减去距离这个数最近的2的i的数,逐层递减

代码

void solve(int x)
{	for(int i=14;i>=0;i--)if(pow(2,i)<=x){if(i==1) cout<<"2";else if(i==0) cout<<"2(0)";else{cout<<"2(";solve(i);cout<<")"; } 	 x-=pow(2,i);if(x!=0) cout<<"+";}
}

P1498 南蛮图腾

题目描述

画三角形的图腾

思路

分治,就是对三角形的复制移动(代码注释会详细一点)

代码


char a[2050][2050];
void sol(int x,int y,int n)//x表示纵向,y表示横向
{int ds=pow(2,n);//偏移距离if(n==1){a[x][y+1]='/';a[x+1][y]='/';a[x][y+2]='\\';a[x+1][y+3]='\\';a[x+1][y+1]='_';a[x+1][y+2]='_';//就是一个三角形的return ;}//下面是对,n为2 的时候有三个小三角形的,与一个三角形的位置移动对比sol(x,y+ds/2,n-1);//第一个sol(x+ds/2,y,n-1);//第二个sol(x+ds/2,y+ds,n-1);//第三个
}
int main()
{int n;cin>>n;int ds=pow(2,n);memset(a,' ',sizeof(a));sol(0,0,n);for(int i=0;i<ds;i++){for(int j=0;j<ds*2;j++)//因为横向距离是纵向的2倍cout<<a[i][j];cout<<'\n';}return 0;
}

P1928 外星密码

题目描述

就是把折叠的字符串展开

思路

递归,遇到’['后面数字是几就循环接到后面几次,遇到‘]’
返回

代码

string unfold()  //定义string类型,便于直接接后面
{	int n;string s="",sj;char c;while(cin>>c){if(c=='['){cin>>n;sj=unfold();while(n--)s+=sj;把需要展开的接后面}else{if(c==']') return s;else s+=c;}    	}  return s;     
}
int main()
{cout<<unfold();return 0;
}

相关文章:

洛谷练习(8.4/8.5)

题目 P2036 PERKET题目描述思路代码 P3799 小 Y 拼木棒题目描述思路代码 P1010 幂次方题目描述思路代码 P1498 南蛮图腾题目描述思路代码 P1928 外星密码题目描述思路代码 P2036 PERKET 题目描述 比较苦度和酸度的最小差值 思路 搜索最小差值 代码 void dfs(int sd,int k…...

DLMS/COSEM中的信息安全:加密算法(下)1

4.公钥算法 4.1概述 一般来说,公钥密码系统使用难以解决的问题作为算法的基础。RSA算法基于非常大的整数的素因子分解。椭圆曲线密码学(ECC)是基于求解椭圆曲线离散对数问题(ECDLP)的难度。与RSA相比,ECC提供了相似的安全级别,但密钥大小明显减少。ECC特别适用于嵌入式…...

ES6中的Promise、async、await,超详细讲解!

Promise是es6引入的异步编程新解决方案&#xff0c;Promise实例和原型上有reject、resolve、all、then、catch、finally等多个方法&#xff0c;语法上promise就是一个构造函数&#xff0c;用来封装异步操作并可以获取其成功或失败的结果&#xff0c;本篇文章主要介绍了ES6中的P…...

Modbus poll和Modbus Mbslave的使用

读取Modbus Mbslave中的数据 首先创建COM1和COM2端口 然后 using System.IO.Ports; ​ namespace 通信 {internal class Program{static void Main(string[] args){Console.WriteLine("Hello, World!");SerialPort serialPort new SerialPort("COM1",960…...

树莓集团的全球化征程:数字媒体产业的本土与国际布局

在全球数字化转型的浪潮中&#xff0c;树莓集团正稳步推进数字媒体产业从本土到国际的全球化布局。在数字媒体产业这一新兴且充满活力的领域中&#xff0c;树莓集团不仅在国内市场树立了标杆&#xff0c;更以其独特的全球化战略布局&#xff0c;引领着行业的未来趋势。 本土深耕…...

LeetCode面试150——274H指数

题目难度&#xff1a;中等 默认优化目标&#xff1a;最小化平均时间复杂度。 Python默认为Python3。 目录 1 题目描述 2 题目解析 3 算法原理及代码实现 3.1 排序 3.2 排序时间优化(计数排序) 3.3 二分查找 参考文献 1 题目描述 给你一个整数数组 citations &#xf…...

【Linux】Linux重定向指南:探索输出重定向与追加重定向的奥秘!

欢迎来到 CILMY23 的博客 &#x1f3c6;本篇主题为&#xff1a;Linux重定向指南&#xff1a;探索输出重定向与追加重定向的奥秘&#xff01; &#x1f3c6;个人主页&#xff1a;CILMY23-CSDN博客 &#x1f3c6;系列专栏&#xff1a;Python | C | C语言 | 数据结构与算法 | 贪…...

Spring AI -快速开发ChatGPT应用

Spring AI介绍 Spring AI是AI工程师的一个应用框架&#xff0c;它提供了一个友好的API和开发AI应用的抽象&#xff0c;旨在简化AI应用的开发工序&#xff0c;例如开发一款基于ChatGPT的对话、图片、音频等应用程序。 Spring AI已经集成了OpenAI的API&#xff0c;因此我们不需…...

Modern C++ 智能指针

Why&#xff1f; 原始指针存在缺陷&#xff0c;不符合现代编程语言的需要。 原始指针的缺陷&#xff1a; 指针指向一片内存&#xff0c;使用者无法得知到底是指向了什么&#xff0c;是数组还是对象&#xff1f;使用完指针是否需要销毁&#xff1f;什么时候销毁&#xff1f;如…...

Python的100道经典练习题,每日一练,必成大神!!!

Python的100道经典练习题是一个广泛而深入的学习资源&#xff0c;可以帮助Python初学者和进阶者巩固和提升编程技能 完整的100多道练习题可在下面图片免沸获取哦~ 整理了100道Python的题目&#xff0c;如果你是一位初学者&#xff0c;这一百多道题可以 帮助你轻松的使用Python…...

代码回滚命令

定位到当前分支 git branch回滚到指定的commit git reset --hard 85da0cb8322accad143cpush到远程分支 git push --force...

[ASIS 2019]Unicorn shop1

打开题目 随便输入信息看一下 操作失败&#xff0c;只让输入一个字符 不妨抓包看一下&#xff0c;信息&#xff0c;发现 从中可以发现源代码是如何处理price的 使用的是unicodedata.numeric() 但我们查看页面源码时&#xff0c;看到源码处理方式是utf-8 所以&#xff0c;前…...

LangChain与泛型编程:探索代码生成的新维度

LangChain与泛型编程&#xff1a;探索代码生成的新维度 在软件开发领域&#xff0c;泛型编程是一种允许创建可重用组件的技术&#xff0c;这些组件可以在多种数据类型上工作的编程范式。LangChain作为一个假设的编程辅助工具&#xff0c;如果存在&#xff0c;它可能会支持泛型…...

day25

一、进程间通信&#xff08;IPC&#xff09; 1.1 进程间通信的引入 1> 对于多个线程之间通信&#xff0c;我们可以使用临界资源来完成&#xff0c;通过一个线程任务对临界资源进行修改&#xff0c;另一个线程也可以使用已经修改过的临界资源&#xff0c;但是要注意使用…...

红黑树的概念和模拟实现[C++]

文章目录 红黑树的概念一、红黑树的性质红黑树原理二、红黑树的优势和比较 红黑树的模拟实现构建红黑树的数据结构定义节点的基本结构和初始化方式插入新节点插入新节点的颜色调整颜色和结构以满足红黑树性质 红黑树的应用场景 红黑树的概念 一、红黑树的性质 红黑树是一种自平…...

网络安全应急响应概述

前言 在网络安全领域&#xff0c;有一句广为人知的话&#xff1a;“没有绝对的安全”。这意味着任何系统都有可能被攻破。安全攻击的发生并不可怕&#xff0c;可怕的是从头到尾都毫无察觉。当系统遭遇攻击时&#xff0c;企业的安全人员需要立即进行应急响应&#xff0c;以将影响…...

【C++】链表操作技巧综合:重排链表(带你理顺链表的做题思路)

1.题目 2.算法思路 这是一道关于链表的综合题&#xff0c;一共涉及到三个步骤&#xff0c;其中每个步骤单拎出来就可以当一道单独的题目。所以需要大家对链表的操作十分熟悉&#xff0c;否则可能需要大量的时间做这道题目&#xff0c;而且还要很多的bug。 第一个步骤&#xf…...

行为型设计模式2:观察者/职责链/中介者/访问者

设计模式&#xff1a;观察者/职责链/中介者/访问者 (qq.com)...

叛逆,批判

1、对以往说法的批判之一&#xff08;第一次这么公开批判是2004-2005年&#xff09;&#xff1a; 这部英文版的《数学百科全书》似乎是从俄语版翻译过来的&#xff1f;我查了三本引用的图书文献&#xff0c;都没有关于“nonsingular”和“singular”的类似下面的说法&#xff…...

Linux 命令,mkdir说明与使用

1&#xff1a;mkdir命令功用&#xff1a; 用于创建一个或多个目录&#xff0c;创建目录&#xff0c;必须在父目录中写上权限。 新目录的默认模式为0777&#xff0c;可以由系统或用的umask来修改。 2&#xff1a;命令构件: mkdir [options] directories 3:参数选项: -m&#x…...

Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动

一、前言说明 在2011版本的gb28181协议中&#xff0c;拉取视频流只要求udp方式&#xff0c;从2016开始要求新增支持tcp被动和tcp主动两种方式&#xff0c;udp理论上会丢包的&#xff0c;所以实际使用过程可能会出现画面花屏的情况&#xff0c;而tcp肯定不丢包&#xff0c;起码…...

从零实现富文本编辑器#5-编辑器选区模型的状态结构表达

先前我们总结了浏览器选区模型的交互策略&#xff0c;并且实现了基本的选区操作&#xff0c;还调研了自绘选区的实现。那么相对的&#xff0c;我们还需要设计编辑器的选区表达&#xff0c;也可以称为模型选区。编辑器中应用变更时的操作范围&#xff0c;就是以模型选区为基准来…...

Linux简单的操作

ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...

Cloudflare 从 Nginx 到 Pingora:性能、效率与安全的全面升级

在互联网的快速发展中&#xff0c;高性能、高效率和高安全性的网络服务成为了各大互联网基础设施提供商的核心追求。Cloudflare 作为全球领先的互联网安全和基础设施公司&#xff0c;近期做出了一个重大技术决策&#xff1a;弃用长期使用的 Nginx&#xff0c;转而采用其内部开发…...

GitHub 趋势日报 (2025年06月08日)

&#x1f4ca; 由 TrendForge 系统生成 | &#x1f310; https://trendforge.devlive.org/ &#x1f310; 本日报中的项目描述已自动翻译为中文 &#x1f4c8; 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...

【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)

1.获取 authorizationCode&#xff1a; 2.利用 authorizationCode 获取 accessToken&#xff1a;文档中心 3.获取手机&#xff1a;文档中心 4.获取昵称头像&#xff1a;文档中心 首先创建 request 若要获取手机号&#xff0c;scope必填 phone&#xff0c;permissions 必填 …...

安卓基础(aar)

重新设置java21的环境&#xff0c;临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的&#xff1a; MyApp/ ├── app/ …...

HarmonyOS运动开发:如何用mpchart绘制运动配速图表

##鸿蒙核心技术##运动开发##Sensor Service Kit&#xff08;传感器服务&#xff09;# 前言 在运动类应用中&#xff0c;运动数据的可视化是提升用户体验的重要环节。通过直观的图表展示运动过程中的关键数据&#xff0c;如配速、距离、卡路里消耗等&#xff0c;用户可以更清晰…...

Kafka入门-生产者

生产者 生产者发送流程&#xff1a; 延迟时间为0ms时&#xff0c;也就意味着每当有数据就会直接发送 异步发送API 异步发送和同步发送的不同在于&#xff1a;异步发送不需要等待结果&#xff0c;同步发送必须等待结果才能进行下一步发送。 普通异步发送 首先导入所需的k…...

免费数学几何作图web平台

光锐软件免费数学工具&#xff0c;maths,数学制图&#xff0c;数学作图&#xff0c;几何作图&#xff0c;几何&#xff0c;AR开发,AR教育,增强现实,软件公司,XR,MR,VR,虚拟仿真,虚拟现实,混合现实,教育科技产品,职业模拟培训,高保真VR场景,结构互动课件,元宇宙http://xaglare.c…...