算法:广搜 解题思路: 因为要求最少的变换次数,所以很自然的想到要用广搜。广搜的初始状态为:10L的瓶子装满,其他的瓶子为空,接着只需要进行普通广搜即可。注意:因为有三个瓶子,故一共有6种移动状态: 1:从10L的瓶子向7L的瓶子中倒: 2:从7L的瓶子向3L的瓶子中倒: 3:从10L的瓶子向3L的 ...
分类:
其他好文 时间:
2019-10-26 10:45:38
阅读次数:
112
“你是我做过最简单的25分题” ——谨以此开头献给 PAT1028 解题思路 这就是是一道字符串操作+排序的题目,相信每一位做多了PAT的盆友都不会对此陌生了,一顿sort,cmp操作就完结了,最多就是注意一些细节的东西,算法方面没有什么可说的。 直接贴代码好吧(逃 ...
分类:
其他好文 时间:
2019-10-26 10:32:12
阅读次数:
61
"原题链" 解题思路: DP, f$[i][j]$表示前$i$个公司分配$j$台机器所取得的最大利润。当前的最大利润为:前$i 1$个公司分配$k$台机器所取得的最大利润加上当前第$i$个公司分配$j k$台机器所取得的利润的总和,与之前取得的最大利润的较大值。所以可以得出: 分析完毕 源代码 cp ...
分类:
其他好文 时间:
2019-10-26 10:24:01
阅读次数:
75
"原题链" "提交情况" 解题思路: 广搜。首先读入,然后特判是不是不需要变换就直接是最后结果(有一个点)。接着入队当前状态,所需步数为$0$。然后就是普通广搜的过程。分为$4$个方向。每次进行扩展时,都现将表示当前状态的9位数变为一个3×3的矩阵,然后扩展,并判断是否合法。如果合法,则又将$3×3 ...
分类:
其他好文 时间:
2019-10-26 10:20:23
阅读次数:
90
1.题目描述: 在 O(n log n) 时间复杂度和常数级空间复杂度下,对链表进行排序。 2.解题思路及代码: 看到O(n log n)时间复杂度,第一时间想到用归并排序或者快排,但是链表交换节点太麻烦,遂选择归并排序 用归并排序排序数组难点在于如何快速找到链表中点,便于后续递归调用。后来看了题解 ...
分类:
编程语言 时间:
2019-10-25 23:09:11
阅读次数:
109
问题描述: 删除链表的中间节点和a/b处的节点 给定链表的头结点head,实现删除链表的中间节点的函数: 例如: 不删除任何节点; 1-->2,删除节点1; 1-->2-->3,删除节点2 1-->2-->3-->4,删除节点2; 1-->2-->3-->4-->5,删除节点3; 分析及解题思路: ...
分类:
其他好文 时间:
2019-10-24 10:20:24
阅读次数:
92
题目描述: 给定一个单向链表的头节点head,以及两个整数from和to,在单向链表上把第from个节点到第to个节点这一部分进行反转。 例如: 1-->2-->3-->4-->5-->6-->null,from=3,to=5 调整结果为:1-->2-->5-->4-->3-->6-->null 1 ...
分类:
其他好文 时间:
2019-10-24 09:37:31
阅读次数:
90
花神的数论题 题意描述: + 设$sum(i)$表示$i$的二进制数中$1$的个数。 + 给定一个整数$N$,求$\prod_{i=1}^Nsum(i)$。 输入描述: + 输入包含一个正整数$N(N\leq10^{15})$。 输出描述: + 一个数,答案模$10000007$的值。 解题思路: ...
分类:
其他好文 时间:
2019-10-23 14:07:46
阅读次数:
65
题目描述 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。 解题思路 采用中序遍历遍历二叉树,利用二叉排序树的特性,顺次连接节点,形成双向链表。 C++代码实现 /* struct TreeNode { int val; struct ...
分类:
其他好文 时间:
2019-10-23 11:47:14
阅读次数:
83
Graveyard Design 题目链接:http://poj.org/problem?id=2100 题目大意:给定一个数,求出所有连续区间的平方和等于该数。 解题思路:尺取法,当区间小于给定数,区间r++,区间和+=r*r;当区间大于给定数,区间和-=l*l,区间l++。 代码如下: ...
分类:
其他好文 时间:
2019-10-21 20:34:33
阅读次数:
83