
WA
婉拒达达利亚
这个作者很懒,什么都没留下…
展开
-
POJ 1986 Distance Queries 【RMQ LCA】双向存边
题目链接题目大意:求节点a到节点b的最短距离思路:LCA模版,用dis数组存节点root到根节点的距离,输出 dis[a] + dis[b] - 2*dis[ LCA(a,b) ];WA坑点:vector要双向存边,不然会WA,虽然不知道为什么要双向存边,记住就好AC代码:#include #include #include #include #原创 2017-08-16 10:32:03 · 232 阅读 · 0 评论 -
挑战程序设计2.3 多重集组合数 POJ3046
POJ3046题目链接题目大意:n种物品,第i种有ai个,同种类无法区分,不同种类可以区分,从中取m个物品,有多少种取法(对M取模)dp[i+1][j] : 从前i种物品中选出j个物品的取法总数易得从前i-1个物品选j-k个物品,再从第i个物品中拿出k个物品组合成jdp[i+1][j] = ∑dp[i][j-k] ( 0这个朴素的算法的时间复杂度是O(nmm)原创 2017-11-16 21:56:54 · 393 阅读 · 2 评论 -
挑战程序设计 DP POJ 3181
题目链接题目大意:完全背包思路 : dp[i+1][j] = dp[i][j] + dp[i][j-i]注意:会爆long long,要用两个long long 数组,一个存储高位,另一个存储低位#include #include #include using namespace std;const long long M = 10000原创 2017-11-17 13:49:53 · 263 阅读 · 0 评论 -
【PTA】05-树9 Huffman Codes(30 分) 优先队列
题目链接思路:1.记录频率①用数组记录要编码的字符(char ch[N];)②建立map容器Time,用Time[字符]记录字符的使用次数2.建立Huffman树,计算出最少花费①用优先队列建Huffman树②计算最少花费(用队列层序遍历Huffman树)3.比较测试数据①花费是否最少 ----如果不是---->输出no (编码长度*字符使用次数)原创 2017-11-10 19:50:13 · 708 阅读 · 0 评论 -
关于Floyd算法三层循环顺序问题
Floyd算法是一个经典的动态规划算法。用通俗的语言来描述的话,首先我们的目标是寻找从点i到点j的最短路径。从动态规划的角度看问题,我们需要为这个目标重新做一个诠释(这个诠释正是动态规划最富创造力的精华所在) for(int k = 1; k <= n; k++) for(int i = 1; i <= n; i++) for(in转载 2017-10-22 10:14:06 · 3960 阅读 · 2 评论 -
POJ-3190-Stall Reservations
这个题是说一些奶牛要在指定的时间内挤牛奶,而一个机器只能同时对一个奶牛工作。给你每头奶牛的指定时间的区间,问你最小需要多少机器。思路:最开始想的是以奶牛要求时间的结束点从小到大进行排序,但后来发现这样的想法是错误的。后来经过调整,应该先按奶牛要求的时间起始点进行从小到大排序,然后维护一个优先队列,里面以已经开始挤奶的奶牛的结束时间早为优先。然后每次只需要检查当前是否有奶牛的挤奶工作转载 2017-10-29 17:05:37 · 193 阅读 · 0 评论 -
HDU 3068 最长回文 【manacher模版】
题目链接题目大意:求最长回文思路:manacher 模版WA:写成了n*n的复杂度了AC代码:#include #include #include #define N 110010using namespace std;int manacher(char a[],int n){ int ans = 0; int mx =原创 2017-08-23 15:07:54 · 205 阅读 · 0 评论 -
HDU 1867 A + B for you again 【KMP】
题目链接题目:Problem DescriptionGenerally speaking, there are a lot of problems about strings processing. Now you encounter another such problem. If you get two strings, such as “asdf” and “sdfg原创 2017-08-22 18:50:18 · 173 阅读 · 0 评论 -
HDU 1711 Number Sequence 【KMP】
题目链接Problem DescriptionGiven two sequences of numbers : a[1], a[2], ...... , a[N], and b[1], b[2], ...... , b[M] (1 <= M <= 10000, 1 <= N <= 1000000). Your task is to find a number K w原创 2017-08-22 17:30:36 · 199 阅读 · 0 评论 -
HDU 2072 单词数 map的应用
题目链接题目大意:统计一篇文章里不同单词的总数思路:简单mapWA两次:细节细节细节AC代码:#include #include #include #include using namespace std;int main(){ string str; while(getline(cin,str) && str[0]原创 2017-08-22 12:45:30 · 329 阅读 · 0 评论 -
HDU 3193 Find the hotel 【RMQ】
题目链接题目大意:找出一个旅馆,确保没有其他旅馆的 价格和距离 都比这个旅馆小,找出所有的这样旅馆思路:RMQ模版,先用sort按照价格排序,然后用RMQ求出距离区间的最小值,枚举每一个点x,找出x这个旅馆前面价格更小的旅馆中距离最小的y,如果y不比x的距离短,那么x就符合没有其他旅馆 价格和距离 都比x小。WA:思路错误,本来想用sort排序,然后后面的点依原创 2017-08-17 10:29:34 · 267 阅读 · 0 评论 -
HDU 3183 A Magic Lamp 【RMQ 递归 求解】
HDU 3183 A Magic Lamp 【RMQ 递归 求解】原创 2017-08-15 15:40:18 · 271 阅读 · 0 评论 -
第九届省赛-表达式求值(模拟)
写了四个函数,分别来实现各个功能int kuohao(string str);//去括号的函数int cheng(int a,string b);//乘法的函数int jia(int a,string b);//加法的函数int Smax(string str);//Smax的函数#include<bits/stdc++.h> using namespace std; int ...原创 2018-05-22 14:27:18 · 210 阅读 · 0 评论