
POJ
CodeUltraLab
上海交通大学新生,从事医疗AI方向。欢迎关注淘宝店铺CodeUltraLab询问深度学习,机器学习处理相关问题
展开
-
POJ3187题解(DFS全排列)
题意描述:给你两个整数,n和m,用杨辉三角形的形式用1-n的各个数字去合成m。让你根据m去推导出字典序最小的组成。16可以由这样推导而来。解题思路:既然要求字典序最小,我们就全排列从小的开始,枚举所有的1-n的底层,去推导是否等于m即可。解题代码:#include<iostream>#include<vector>using namespace std;int n; int final;int flag[11] = { 0 };vector<int原创 2021-02-26 21:25:17 · 246 阅读 · 0 评论 -
POJ1078题解(dfs搜索乘积项)
题意描述:给两个整数是否可以分解为1-n的整数乘积,且乘积项各不相同,如果是这样的话输出二者最大值,或较小的数不能分解也输出最大值,否则输出较大的那个。代码:#include<iostream>using namespace std;#include<vector>#include<algorithm>int flag[101] = { 0 };vector<int>temp;void dfs(int n,vector<vector&l原创 2021-02-24 19:19:56 · 162 阅读 · 1 评论 -
POJ2136(坑人的水题)
Time Limit:Memory Limit:1000MS65536KDescription:编写程序以从输入文件中读取四行大写(即所有大写字母)文本输入(每行不超过72个字符),并打印一个垂直直方图,以显示每个字母多少次(但不包括空格,数字和标点符号)出现在全部大写的输入中。 完全按照所示格式格式化输出。Input:四行大写文本,每行不超过72个字符。Output:几行带有星号和空格,其后是一行,大写字母由空格分隔。 不要在任何行的末尾打印不需要的空白。 不要打印任...原创 2021-02-23 16:32:55 · 176 阅读 · 0 评论 -
POJ2421题解(最小生成树)
题目翻译:Description:有N个村庄,编号从1到N,您应该修建一些道路,以便每两个村庄可以相互连接。 我们说两个村庄A和B是连通的,当且仅当A和B之间有一条道路,或者存在一个村庄C使得A和C之间有一条道路,并且C和B连通时。我们知道,一些村庄之间已经存在一些道路,您的工作是建造一些道路,以使所有村庄都连接起来,并且所有道路的长度都应最小。Iuput:第一行是整数N(3 <= N <= 100),它是村庄的数量。 然后是N行,其中第i个包含N个整数,而这N个整数中的第j个是村庄原创 2021-02-11 18:23:55 · 1078 阅读 · 0 评论 -
POJ2718(贪心最巧妙的解法:视频讲解)
题目时间和内存要求:Time Limit:Memory Limit:1000MS65536K题目翻译:Description:给定许多不同的十进制数字,您可以通过选择这些数字的非空子集并按一定顺序写入它们来形成一个整数。剩下的数字可以按某种顺序写下来形成第二个整数。除非得到的整数是0,否则整数不能以数字0开头。例如,如果给定数字0、1、2、4、6和7,则可以写入整数对10和2467。当然,形成这样的整数对的方法有很多:210和764、204和176等等,最后一对整数之间原创 2021-02-10 15:38:55 · 286 阅读 · 0 评论 -
POJ2676题解(dfs,附:视频讲解)
题意:Time Limit:Memory Limit:2000MS65536KDescription:数独是一项非常简单的任务。一个有9行9列的正方形表格被分成9个较小的正方形3x3,如图所示。在某些单元格中,是从1到9的十进制数字。其他单元格是空的。目标是用1到9的十进制数字填充空单元格,每个单元格一个数字,这样在每行、每列和每个标记的3x3子方格中,1到9的所有数字都会出现。写一个程序来解决给定的数独任务。Input:输入数据将从测试用例的数量开始。 对于每个测试原创 2021-02-09 16:11:05 · 1174 阅读 · 0 评论 -
POJ2081题解(模拟)
题意分析:Time LimitMemory Limit3000MS60000KDescription:Recaman的序列由a0 = 0定义; 对于m> 0,如果结果am为正且尚未在序列中,则am = am-1-m,否则am = am-1 + m。Recaman序列中的前几个数字是0、1、3、6、2、7、13、20、12、21、11、22、10、23、9 …给定k,您的任务是计算akInput:输入包含几个测试用例。 输入的每一行都包含一个整数k,其中0 &l原创 2021-02-08 10:58:47 · 213 阅读 · 1 评论 -
POJ3253题解(哈夫曼树)
#include<iostream>#include<queue>#include<vector>using namespace std;int main(){ int n; cin>>n; priority_queue<int,vector<int>,greater<int>>q;//优先队列,从小到大排序。 for(int i=0;i<n;i++) {原创 2021-02-07 19:48:59 · 143 阅读 · 0 评论 -
POJ2511(今天是个失败的题解,未能AC,求帮忙纠正)
题目就是类似背包问题,给容量为10的书架选情感值较大的书,并且这些书相邻的是不能在相同位置是相同的字母。改了半天都不知道哪里错了,今天是个失败的题解,求帮忙呀!#include<iostream>#include<cstring>#include<cstdio>#include<algorithm>#include<vector>using namespace std;struct node { int val; c原创 2021-02-06 20:52:16 · 147 阅读 · 0 评论 -
POJ3295题解(模拟后缀表达式)
题意分析:文字版:给你一个逻辑表达式,pqrst等小写字母代表原子(就是有逻辑值0或者1的变量),AKNEC等分别代表了或,与,非,相等,蕴含关系。问无论原子值为何,表达式为恒真吗?解题思路:KNppANpq,分析这个样例你会发现其实只要根据规则进行类似后缀表达式求值的过程即可,这不过这里需要逆向思维。这个题不需要考裂不合法的表达式!测试样例:输入:KNppANpqKNppANpp0输出:notnot解题代码:#include<iostream>#inc原创 2021-02-05 15:07:38 · 317 阅读 · 0 评论 -
POJ1017题解(语音讲解题意以及样例分析)
题意:就是给你6*6的包装箱子,再给你六个不同种类的箱子数量是通过输入限定的,让你去放,使用最少的包装箱子。输入样例:0 0 4 0 0 1 7 5 1 0 0 0 0 0 0 0 0 0 输出样例:21分析样例:4 * 4和6 * 6的箱子必须分别使用一个包装箱也就是27个1 * 1的和5个2 * 2的和1个3 * 3的可以考裂先放3 * 3的,再放2 * 2的,1 * 1的随便塞就好了。题目解答:针对这个题其实刚开始会无从下手,其实仔细分析就会发现:(这个的单独指的原创 2021-02-04 16:28:45 · 530 阅读 · 2 评论 -
POJ3280题解(视频讲解区间dp)
视频讲解: POJ3280题目理解 非常抱歉:因中途录制原因只录制了主要部分,下面进行补充。如果str[i]==str[j],dp[i][j]=dp[i+1][j-1]如果不相等,dp[i][j]=min(dp[i][j],dp[i+1][j]+cost[str[i]-‘a’],dp[i][j-1]+cost[str[j]-‘a’])至于循环为什么i是从0-m,j是i-m的原创 2021-02-03 14:40:45 · 216 阅读 · 1 评论