学习之路,长路漫漫,写学习笔记的过程就是把知识讲给自己听的过程。前段时间我们的实验室进行纳新,准备了一些题目,由于之前很少刷题的缘故,在这次刷题的过程中出现了很多的纰漏与问题。同时,我们选用的平台,对代码进行检查时,也会爆出各种问题,而我也不知道什么问题/(ㄒoㄒ)/~~,提交了很多次后我放弃了?。评论区有没有大佬,或者刷题的朋友们,可以跟我分享一下刷题经验。?目前正在自学C++,求大佬关于
转载 2023-12-28 08:56:35
117阅读
# 如何实现“Python题解” “”是一个非常受欢迎的在线编程挑战平台,许多初学者都渴望在这里锻炼自己的编程能力。对于新手而言,了解如何实现“Python题解”是一个重要的学习目标。这篇文章将带你走过整个流程,并通过示例代码进行详细解释。 ## 整体流程概述 在实现“Python题解”的过程中,我们可以将其分为以下几个步骤: | 步骤 | 描述
原创 8月前
143阅读
# 刷题 Python 题解入门指南 如果你是一位刚步入编程世界的小白,面对刷题的挑战,你可能会感到无从下手。本文将以简明的流程和代码示例,教你如何在上用 Python 解决问题,帮助你顺利完成这一过程。 ## 流程概述 首先,我们可以把整个刷题流程总结成下表,帮助你理清思路: | 步骤 | 描述 | |------|----------
原创 9月前
763阅读
【算法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:
题目传送门 这道题是一道很好的递归题。(当然模拟也可以做) 首先我们看题:在次题中,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评论
题目思路:考虑每次合并操作,在当前还剩下 堆石子时,任意选择两堆石子合并的概率是 (因为从 堆中选 堆的组合数为 ,而选择特定两堆的概率就是 )。随着合并的进行,从最开始有 堆石子,逐步减少到最后只剩 堆石子,总共要进行 次合并操作,所以通过循环把每次合并对应的概率系数累加起来存到 变量中。根据期望得分的计算原理:期望得分等于所有石子总数乘以每次合并操作对应的概率系数之和输出即可。注
原创 2月前
76阅读
P3545(原题指路) 很典的一道带反悔贪心 题意简述 一共 \(n\) 天。 第 \(i\) 天上午进货 \(ai\) 件商品,中午有一个顾客需要 \(bi\) 件商品,可以满足他或无视他。 要满足顾客则必须要有足够的库存。问最多能满足多少位顾客,以及能满足的是哪些顾客。 解题思路 (带反悔贪 ...
转载 16天前
318阅读
今年我23了,时间过的可快啊。我爱我身边的人,我爱我老公。
转载 2009-07-15 14:13:34
185阅读
树形dp
原创 2023-02-17 01:28:01
35阅读
题面 看到 \(n \leq 35\) ,这是一个非常小的数据,但是 \(O(2^n)\) 的暴力跑不过去,所以考虑玄学做法 \(\text{Meet in Middle}\) 。就是先做左边,然后做右边的时候顺便和左边合并。 考虑到每个点最多进行一次操作(两次操作回源没用),所以对于每个点只有操作 ...
转载 2021-08-03 17:14:00
111阅读
2评论
明显的动态规划 题目大意 \(n\) 种游戏主机,第 \(i\) 种主机的价格是 \(P_i\)。该主机有 \(G_i\) 个独占游戏。很明显,奶牛必须先买进一种游戏主机,才能买进在这种主机上运行的游戏。在每种主机中,游戏 \(j\) 的价格为 \(\mathit{GP}_j\),每头奶牛在玩了该游 ...
转载 2021-08-02 12:06:00
61阅读
题面 本人用的是暴力分类讨论 + \(unordered\_map\) 存储,与所有的题解都不同。 因为 \(n \leq 6\) ,非常的小,并且我不想写 DFS,所以直接暴力分类讨论 \(n=1,n=2,\dots,n=6\) 的情况。 当 \(n \leq 3\) 时,可以用循环嵌套来解决,这 ...
转载 2021-08-04 16:31:00
107阅读
2评论
题面 看起来非常简单,但是细节多的一批的状压DP入门题。 我设 \(f_i\) 为 \(i\) 状态时最小分组数, \(g_i\) 为 \(i\) 状态时最后一组剩余空间。 对于每一个 \(i\) ,枚举每一个 \(1\le j\le n\) 且 \(j\) 不在 \(i\) 内, 即 \(i \& ...
转载 2021-08-09 16:15:00
137阅读
2评论
题面 这个题就是个暴力题。 暴力从后往前枚举每一个状态,对于每一个状态暴力枚举每一种操作,然后暴力转移。 就是操作的时候位运算要看好是 << (l-1) 还是 << l 。另外就没什么难点了。 代码 ...
转载 2021-08-11 15:52:00
82阅读
2评论
题面 看题目就知道这是一个点覆盖型树形DP。 首先定义状态。设 \(f_i\) 为 \(i\) 节点的状态。 那么, \(f_i\) 有三种情况: 自己不放置坑爹。 儿子坑了自己。 儿子全部自给自足,自己不放置,靠儿子养活。 三个状态分别如图所示: 知道状态以后,转移就很简单了。 初始状态:坑爹,因 ...
转载 2021-08-13 15:00:00
175阅读
2评论
  • 1
  • 2
  • 3
  • 4
  • 5