【算法1-6】二分查找与二分答案学习:整数二分和实数二分整数:在单调递增序列中查找 x 或者 x 的后继def bin_search(a, n, x):
left = 0
right = n
while left < right:
mid = (left + right)//2
if a[mid] >= x:
入门测试题目题目背景强烈推荐新用户必读贴题目描述求两个整数的和。输入格式一行,两个用空格隔开的整数。输出格式两个整数的和。样例 #1样例输入 #11 2样例输出 #13样例 #2样例输入 #210230 21312样例输出 #231542提示对于 的数据,输入的整数在 内。思路解析本题唯一需要注意的点,就是数据的范围。在“提示”下边,提到整数的最大值可到4×1018,那么得用long型数据来参
原创
2023-07-25 15:06:12
81阅读
# 如何实现“洛谷Python题解”
“洛谷”是一个非常受欢迎的在线编程挑战平台,许多初学者都渴望在这里锻炼自己的编程能力。对于新手而言,了解如何实现“洛谷Python题解”是一个重要的学习目标。这篇文章将带你走过整个流程,并通过示例代码进行详细解释。
## 整体流程概述
在实现“洛谷Python题解”的过程中,我们可以将其分为以下几个步骤:
| 步骤 | 描述
原题 毒瘤DP......从lyd的蓝书上看到的题目,然后我昨晚就调了一晚上,今早一来发现是DP状态搞反了...... 题意: 一个只由“( )”,“[ ]”,“{ }”构成的字符串,若“( )”内没有“[ ]”,“[ ]”内没有“{ }”,则称这样的字符串为SS表达式(空串也是SS表达式)。现在需 ...
转载
2021-09-30 08:22:00
120阅读
2评论
洛谷月赛 B https://www.luogu.com.cn/problem/P7725 题面 初始值为0,n块宝石 每个宝石有属性 op 和 vv,表示: 若 op 为 +,则值会加v; 若 op 为 *,则值会乘v。 希望采取某种镶嵌方式,将每个宝石都镶嵌恰好一遍,且最终值最大 答案对P=99 ...
转载
2021-07-15 10:22:00
164阅读
2评论
# 洛谷刷题 Python 题解入门指南
如果你是一位刚步入编程世界的小白,面对洛谷刷题的挑战,你可能会感到无从下手。本文将以简明的流程和代码示例,教你如何在洛谷上用 Python 解决问题,帮助你顺利完成这一过程。
## 流程概述
首先,我们可以把整个刷题流程总结成下表,帮助你理清思路:
| 步骤 | 描述 |
|------|----------
python 洛谷B3838 是一道典型的排列组合问题,目标是计算某个特定条件下的不同排列方式。接下来,我将通过版本对比、迁移指南、兼容性处理、实战案例、排错指南以及性能优化等多个方面,逐步解析如何解决这一问题。
### 版本对比
在解决此问题时,我们需要分析不同版本的Python在排列组合计算中的表现和兼容性。
#### 兼容性分析
我们以Python 3.6与Python 3.9进行对
此报错是因为运行时间出错,本质就是 没出来结果。下面我列举出一些常见的出错原因。 1.数组开太小 这是一道来自洛谷(luogu.org)的题目(P1781)题目描述 地球历公元 6036 年,全宇宙准备竞选一个最贤能的人当总统,共有 nn 个非凡拔尖的人竞选总统,现在票数已经统计完毕,请你算出谁能够当上总统。 说明:1≤n≤20这是我最初写的代码片段:int n;
zongtong zt[20]
转载
2023-11-06 16:36:01
96阅读
学习之路,长路漫漫,写学习笔记的过程就是把知识讲给自己听的过程。前段时间我们的实验室进行纳新,准备了一些题目,由于之前很少刷题的缘故,在这次刷题的过程中出现了很多的纰漏与问题。同时,我们选用的洛谷平台,对代码进行检查时,也会爆出各种问题,而我也不知道什么问题/(ㄒoㄒ)/~~,提交了很多次后我放弃了?。评论区有没有大佬,或者刷题的朋友们,可以跟我分享一下刷题经验。?目前正在自学C++,求大佬关于洛
转载
2023-12-28 08:56:35
117阅读
坚持就是胜利
原创
2022-11-05 11:41:17
163阅读
点赞
2评论
题目链接:https://www.luogu.com.cn/problem/P5691 解题思路: 因为暴搜的时间复杂度为 \(O(150^6)\),所以采用折半搜索(meet-in-middle search)。 我这里用 map 记录 hash,所以总的时间复杂度为 \(O(12 \cdot 1
原创
2022-06-10 00:07:00
161阅读
START: 2021-08-09 15:28:07 题目链接: https://www.luogu.com.cn/problem/P1832 给定一个正整数n,求将其分解成若干个素数之和的方案总数。 输入格式 一行:一个正整数n 输出格式 一行:一个整数表示方案总数 输入输出样例 输入 #1复制 ...
转载
2021-08-09 15:45:00
81阅读
2评论
题目链接: "https://www.luogu.com.cn/problem/P2024" 解题思路: 我们用 $X+n$ 来表示 吃 $X$ 的集合,用 $X+2n$ 来表示被 $X$ 吃的集合,同时可以推导出 $X+2n$ 是吃 $X+n$ 的。 遇到“1 X Y”,则说明需要: 合并 $X$
原创
2022-06-10 00:17:31
147阅读
题目传送门 这道题是一道很好的递归题。(当然模拟也可以做) 首先我们看题:在次题中,logo有3个关键词: 1.FD(向前); 2.BK(向后); 3.REPEAT(重复)。 这些关键词语法分别为: 1.FD n 表示向前移动n步; 2.BK n 表示向后移动n步; 3.REPEAT n[..... ...
转载
2021-07-27 20:33:00
262阅读
题面 首先他叫我们建一颗笛卡尔树,所以我们就建一颗笛卡尔树。 然后他说要生成序列中最小的。想到笛卡尔树的一条性质:左<根<右。但是根节点必须先插进去。他的两个儿子用贪心的思想就知道是先选左边那个。然后这题就做完了。 根据分析我们知道,遍历的顺序是根-左-右,这不是先序遍历么。 code ...
转载
2021-08-03 17:07:00
181阅读
2评论
题面 首先,对于每个数,有三种状态:选入集合A,选入集合B,或者不选入集合。暴力枚举的时间复杂度是 \(O(n\times3^n)\) ,显然跑不过去。 因此考虑 \(\text{Meet in Middle}\) 。记录选取前半部分的数时的总和,然后和右边每次搜索的结果进行匹配。 我设两个集合分别 ...
转载
2021-08-05 16:38:00
113阅读
2评论
题面 显然是个状压DP。 看数据范围,不难发现算法复杂度应该是 \(O(n\times 2^n \times 2^n)\) 。 显然第一个 \(n\) 是遍历每一行的土地。 后面两个 \(2^n\) ,想都不用想就知道是暴力枚举上一行和这一行的状态。 而枚举状态这个东西比较浪费时间,所以我们可以先不 ...
转载
2021-08-09 19:15:00
81阅读
2评论
题面 对于每一秒,Bessie 肯定会跑一个单位。这是什么?过河卒! 然后枚举每一秒, \(f_{nowx,nowy,t}=\sum_{i=0}^3 f_{nowx-x_i,nowy-y_i,t-1}\) 。 这像一个DP。 没了。 代码 ...
转载
2021-08-16 16:42:00
83阅读
2评论
题面 树形DP。 首先可以发现, \(m>2\) 时,难受度只出现在最大的头吃的果子上(因为我把果子分成最大的头吃的和其他的,其他的里面,相邻的果子让不同的头吃即可)。 然后我定义 \(f_{i,j,k}\) 为当前为 \(i\) 节点,当前节点分 \(j\) 个果子给最大的头,当前节点选择情况为 ...
转载
2021-10-09 20:15:00
165阅读
2评论
题目思路:考虑每次合并操作,在当前还剩下 堆石子时,任意选择两堆石子合并的概率是 (因为从 堆中选 堆的组合数为 ,而选择特定两堆的概率就是 )。随着合并的进行,从最开始有 堆石子,逐步减少到最后只剩 堆石子,总共要进行 次合并操作,所以通过循环把每次合并对应的概率系数累加起来存到
变量中。根据期望得分的计算原理:期望得分等于所有石子总数乘以每次合并操作对应的概率系数之和输出即可。注