算法
文章平均质量分 89
相思明月楼
学生一枚,所言之处,如有不当,敬请指正。
展开
-
1007 Maximum Subsequence Sum(25 分)(PAT甲级)
Problem Description:Given a sequence of K integers { N1, N2, ..., NK }. A continuous subsequence is defined to be { Ni, Ni+1, ..., Nj } where 1≤i≤j≤K. The Maximum Subsequence is th...原创 2018-09-11 19:35:27 · 554 阅读 · 0 评论 -
POJ 2976 Dropping tests(01分数规划)
DescriptionIn a certain course, you take n tests. If you get ai out of bi questions correct on test i, your cumulative average is defined to be.Given your test scores and a positive integer k, d...原创 2018-08-10 16:27:20 · 153 阅读 · 0 评论 -
HDU 3549 Flow Problem(最大流)
Problem Description Network flow is a well-known difficult problem for ACMers. Given a graph, your task is to find out the maximum flow for the weighted directed graph. Input...原创 2018-08-01 20:10:30 · 129 阅读 · 0 评论 -
POJ 1064 Cable master(二分法)
DescriptionInhabitants of the Wonderland have decided to hold a regional programming contest. The Judging Committee has volunteered and has promised to organize the most honest contest ever. It was ...原创 2018-08-10 11:59:02 · 450 阅读 · 1 评论 -
HDU 1757 A Simple Math Problem(矩阵快速幂)
Problem Description Lele now is thinking about a simple function f(x). If x < 10 f(x) = x. If x >= 10 f(x) = a0 * f(x-1) + a1 * f(x-2) + a2 * f(x-3) + …… + a9 * f(x-10); And ai(...原创 2018-08-10 11:43:28 · 240 阅读 · 0 评论 -
POJ 2406 Power Strings
DescriptionGiven two strings a and b we define a*b to be their concatenation. For example, if a = "abc" and b = "def" then a*b = "abcdef". If we think of concatenation as multiplication, exponentiat...原创 2018-08-10 11:29:38 · 126 阅读 · 0 评论 -
HDU 1248 寒冰王座(完全背包)
Problem Description不死族的巫妖王发工资拉,死亡骑士拿到一张N元的钞票(记住,只有一张钞票),为了防止自己在战斗中频繁的死掉,他决定给自己买一些道具,于是他来到了地精商店前.死亡骑士:"我要买道具!"地精商人:"我们这里有三种道具,血瓶150块一个,魔法药200块一个,无敌药水350块一个."死亡骑士:"好的,给我一个血瓶."说完他掏出那张N元的大钞递给地精商人.地...原创 2018-08-06 11:19:17 · 154 阅读 · 0 评论 -
POJ 3278 Catch That Cow
ProblemFarmer John has been informed of the location of a fugitive cow and wants to catch her immediately. He starts at a point N (0 ≤ N ≤ 100,000) on a number line and the cow is at a point K (0 ≤ ...原创 2018-08-01 14:55:17 · 137 阅读 · 0 评论 -
HDU 1016 Prime Ring Problem(搜索问题)
Problem DescriptionA ring is compose of n circles as shown in diagram. Put natural number 1, 2, ..., n into each circle separately, and the sum of numbers in two adjacent circles should be a prime....原创 2018-08-01 09:07:45 · 229 阅读 · 0 评论 -
POJ 2104 K-th Number(主席树,区间第K大的数)
DescriptionYou are working for Macrohard company in data structures department. After failing your previous task about key insertion you were asked to write a new data structure that would be able t...原创 2018-07-27 16:29:14 · 343 阅读 · 0 评论 -
HDU 1566 Color the ball(树状数组 区间更新,单点查询)
Problem DescriptionN个气球排成一排,从左到右依次编号为1,2,3....N.每次给定2个整数a b(a <= b),lele便为骑上他的“小飞鸽"牌电动车从气球a开始到气球b依次给每个气球涂一次颜色。但是N次以后lele已经忘记了第I个气球已经涂过几次颜色了,你能帮他算出每个气球被涂过几次颜色吗?Input每个测试实例第一行为一个整数N,(N <= 10...原创 2018-07-25 21:06:15 · 380 阅读 · 0 评论 -
HDU 1166 敌兵布阵(树状数组 单点更新,区间查询)
Problem DescriptionC国的死对头A国这段时间正在进行军事演习,所以C国间谍头子Derek和他手下Tidy又开始忙乎了。A国在海岸线沿直线布置了N个工兵营地,Derek和Tidy的任务就是要监视这些工兵营地的活动情况。由于采取了某种先进的监测手段,所以每个工兵营地的人数C国都掌握的一清二楚,每个工兵营地的人数都有可能发生变动,可能增加或减少若干人手,但这些都逃不过C国的监视。...原创 2018-07-25 20:57:39 · 189 阅读 · 0 评论 -
HDU 5144 NPY and shot(物理+二分)
Problem Description NPY is going to have a PE test.One of the test subjects is throwing the shot.The height of NPY is H meters.He can throw the shot at the speed of v0 m/s and at the height of...原创 2018-08-10 16:36:07 · 236 阅读 · 0 评论 -
HDU 1232 畅通工程(并查集模板题)
Problem Description 某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇。省政府“畅通工程”的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要互相间接通过道路可达即可)。问最少还需要建设多少条道路? Input 测试输入包含若干测试用例。每个测试用例的第1行给出两个正整数,分别是城镇数目N ( &...原创 2018-08-10 19:24:09 · 192 阅读 · 0 评论 -
HDU 1372 & POJ 2243 Knight Moves(广度优先搜索)
Problem DescriptionA friend of you is doing research on the Traveling Knight Problem (TKP) where you are to find the shortest closed tour of knight moves that visits each square of a given set of n ...原创 2018-08-24 17:49:23 · 454 阅读 · 0 评论 -
欧拉函数
#include <iostream>#include <cstdio>using namespace std;const int Max = 100000;int euler[Max];void Init(){ euler[1] = 1; for(int i = 2; i < Max; i++) { euler[i]=i; ...原创 2018-08-31 18:56:55 · 309 阅读 · 0 评论 -
Educational Codeforces Round 49 (Rated for Div. 2) problem A Palindromic Twist
Problem DescriptionYou are given a string ss consisting of nn lowercase Latin letters. nn is even.For each position ii (1≤i≤n1≤i≤n) in string ss you are required to change the letter on this posit...原创 2018-08-19 10:09:47 · 344 阅读 · 0 评论 -
牛客小白月赛6 H挖沟(并查集)
题目链接:https://www.nowcoder.com/acm/contest/136/H#include<bits/stdc++.h>using namespace std;const int N=5e5+5;int n,m,tot;int p[N];struct node{ int u,v,w;}a[N];bool cmp(node a,node b...原创 2018-08-19 10:02:48 · 316 阅读 · 0 评论 -
排列(思路)
题目:用1,2,3……9组成3个三位数abc,def和ghi,每个数字恰好使用一次,要求abc:def:ghi = 1:2:3。输出所有解。提示:不必太动脑筋。分析:确实是不要想太多,3位数所以abc的范围只能是100-333,所以#include <stdio.h>int main() { int x, y, z, a[10] = {0}; for(x = 100; ...原创 2018-08-13 20:41:44 · 296 阅读 · 0 评论 -
HDU 1251 统计难题
Problem DescriptionIgnatius最近遇到一个难题,老师交给他很多单词(只有小写字母组成,不会有重复的单词出现),现在老师要他统计出以某个字符串为前缀的单词数量(单词本身也是自己的前缀).Input输入数据的第一部分是一张单词表,每行一个单词,单词的长度不超过10,它们代表的是老师交给Ignatius统计的单词,一个空行代表单词表的结束.第二部分是一连串的提问,每行...原创 2018-08-08 21:42:20 · 233 阅读 · 0 评论 -
51Nod 1001 数组中和等于K的数对(二分)
Problem:给出一个整数K和一个无序数组A,A的元素为N个互不相同的整数,找出数组A中所有和等于K的数对。例如K = 8,数组A:{-1,6,5,3,4,2,9,0,8},所有和等于8的数对包括(-1,9),(0,8),(2,6),(3,5)。Input第1行:用空格隔开的2个数,K N,N为A数组的长度。(2 <= N <= 50000,-10^9 <= K ...原创 2018-08-12 16:41:30 · 240 阅读 · 0 评论 -
求大组合数(卢卡斯定理) 牛客2018暑假多校第八场G题
题目描述Niuniu likes mathematics. He also likes drawing pictures. One day, he was trying to draw a regular polygon with n vertices. He connected every pair of the vertices by a straight line as well. He...原创 2018-08-11 16:48:41 · 492 阅读 · 0 评论 -
二分算法
Problem躺在床上不久我便心安理得的睡着了, 我梦见老板给我发了K个红包于是我便开开心心地去超市买吃的. 超市一共有ABC三个货架, 每个货架上都有若干种商品(每种有无限多个), 比如A货架上的第i种商品的价格是Ai元.对于每个红包, 我想要从三个货架上各拿一个商品, 把红包里的钱恰好花光, 这可能吗?Input每个输入包含多组样例. 每组样例的第一行有三个整数L, N, M...原创 2018-08-11 10:30:24 · 362 阅读 · 0 评论 -
HDU 2063 过山车(匈牙利算法,二分图匹配)
Problem Description RPG girls今天和大家一起去游乐场玩,终于可以坐上梦寐以求的过山车了。可是,过山车的每一排只有两个座位,而且还有条不成文的规矩,就是每个女生必须找个个男生做partner和她同坐。但是,每个女孩都有各自的想法,举个例子把,Rabbit只愿意和XHD或PQK做partner,Grass只愿意和linle或LL做partner,Prince...原创 2018-08-02 11:14:42 · 259 阅读 · 0 评论 -
HDU 1233 还是畅通工程(最小生成树 Prime&Kruskal)
Problem Description 某省调查乡村交通状况,得到的统计表中列出了任意两村庄间的距离。省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可),并要求铺设的公路总长度为最小。请计算最小的公路总长度。 Input 测试输入包含若干测试用例。每个测试用例的第1行给出村庄数目N ( < ...原创 2018-08-10 20:24:46 · 281 阅读 · 1 评论 -
背包问题(01背包)
1085 背包问题 在N件物品取出若干件放在容量为W的背包里,每件物品的体积为W1,W2……Wn(Wi为整数),与之相对应的价值为P1,P2……Pn(Pi为整数)。求背包能够容纳的最大价值。Input第1行,2个整数,N和W中间用空格隔开。N为物品的数量,W为背包的容量。(1 <= N <= 100,1 <= W <= 10000)第2 - N + 1行,每行2个整数,W...原创 2018-06-20 17:11:28 · 277 阅读 · 0 评论 -
快速排序(过程图解)
假设我们现在对“612 79345 108”这个10个数进行排序。首先在这个序列中随便找一个数作为基准数(不要被这个名词吓到了,就是一个用来参照的数,待会你就知道它用来做啥的了)。为了方便,就让第一个数6作为基准数吧。接下来,需要将这个序列中所有比基准数大的数放在6的右边,比基准数小的数放在6的左边,类似下面这种排列。 312 5469 ...转载 2018-07-02 12:10:50 · 419158 阅读 · 194 评论 -
HDU2084 数塔(简单动态规划)
Problem Description在讲述DP算法的时候,一个经典的例子就是数塔问题,它是这样描述的:有如下所示的数塔,要求从顶层走到底层,若每一步只能走到相邻的结点,则经过的结点的数字之和最大是多少?已经告诉你了,这是个DP的题目,你能AC吗? Input输入数据首先包括一个整数C,表示测试实例的个数,每个测试实例的第一行是一个整数N(1 <= N <= 100),表示数塔的高度,...原创 2018-05-25 12:14:41 · 350 阅读 · 0 评论 -
编辑距离问题(动态规划)
一、问题描述 设A和B是两个字符串,长度分别为n,m要用最少的字符操作(包括字符的插入、删除、修改),这样的操作称为字符串A到B的操作距离,记为d(A,B)。#include <iostream>#include <cstring>#include <algorithm>#define MAXN 1000using name...原创 2018-05-21 09:40:17 · 1679 阅读 · 0 评论 -
数字三角形问题(最大路径、动态规划)
输入样例:573 88 1 02 7 4 44 5 2 6 5输出30#include <iostream>#include <algorithm>#include <stdio.h>#include <string.h>using namespace std;int main() { int mp[100][100]; memset(...原创 2018-05-07 09:36:10 · 1227 阅读 · 0 评论 -
Rescue
Angel was caught by the MOLIGPY! He was put in prison by Moligpy. The prison is described as a N * M (N, M <= 200) matrix. There are WALLs, ROADs, and GUARDs in the prison. Angel's friends want to ...原创 2018-05-13 17:51:26 · 245 阅读 · 0 评论 -
Oil Deposits
The GeoSurvComp geologic survey company is responsible for detecting underground oil deposits. GeoSurvComp works with one large rectangular region of land at a time, and creates a grid that divides th...原创 2018-05-13 17:41:24 · 213 阅读 · 0 评论 -
HDU 1548 A strange lift
There is a strange lift.The lift can stop can at every floor as you want, and there is a number Ki(0 <= Ki <= N) on every floor.The lift have just two buttons: up and down.When you at floor i,if...原创 2018-05-13 17:37:30 · 135 阅读 · 0 评论 -
ZQ的睡前故事
题目描述 ZQ是一个拥有n女朋友的万人迷,她的每一个女朋友每天晚上都会挨个给他打电话,要他讲了睡前故事才能睡觉。可是,每次他的女朋友都会挑他在吃鸡的时候打电话,ZQ总是因为挂机被舍友赶出宿舍,于是,ZQ告诉他的女朋友们,别打电话了,他会主动打过去给他们讲故事,再打电话就分手! 于是,ZQ把他的女朋友名字写在纸上,画成一圈,顺时针编号为1~n,然后从1开始顺时针数。在每一次数...原创 2018-05-13 17:12:19 · 579 阅读 · 0 评论 -
快速幂
快速幂ll qpow(ll a,ll b,ll m){ ll ans=1; ll k=a; while(b){ if(b&1)ans=ans*k%m; k=k*k%m; b>>=1; } return ans;}快速乘ll qmul(ll a,ll b,ll m){ ll ans=...原创 2018-05-06 21:43:53 · 163 阅读 · 0 评论 -
排序算法之快速排序(c++代码实现)
#include <stdio.h>int a[101], n;//定义全局变量void quicksort(int left, int right) { int i, j, t, temp; if(left > right) { return ; } temp = a[left]; i = left; j = right; while(i != j) {...原创 2018-05-09 21:00:24 · 937 阅读 · 0 评论 -
BFS(广搜)和DFS(深搜)算法原理(通俗易懂版)
DFS 算法思想:一直往深处走,直到找到解或者走不下去为止BFS算法DFS:使用栈保存未被检测的结点,结点按照深度优先的次序被访问并依次被压入栈中,并以相反的次序出栈进行新的检测。BFS:使用队列保存未被检测的结点。结点按照宽度优先的次序被访问和进出队列。框架:BFS#include<cstdio>#include<cstring>#include<queue&g...原创 2018-04-05 13:17:08 · 5786 阅读 · 2 评论 -
最新比较好的图像去噪算法(数学建模可用)
图像去噪是非常基础也是非常必要的研究,去噪常常在更高级的图像处理之前进行,是图像处理的基础。可惜的是,目前去噪算法并没有很好的解决方案,实际应用中,更多的是在效果和运算复杂度之间求得一个平衡,再一次验证了我老师的一句话:所有的工程问题最后都是最优化问题。好了,废话不多说,来看看效果比较好的去噪算法吧。噪声模型图像中噪声的来源有许多种,这些噪声来源于图像采集、传输、压缩等各个方面。噪声的种类也各不相...转载 2018-04-16 11:17:31 · 9938 阅读 · 0 评论 -
奖学金(排序问题)
详情: 某小学最近得到了一笔赞助,打算拿出其中一部分为学习成绩优秀的前5名学生发奖学金。期末,每个学生都有3门课的成绩:语文、数学、英语。先按总分从高到低排序,如果两个同学总分相同,再按语文成绩从高到低排序,如果两个同学总分和语文成绩都相同,那么规定学号小的同学排在前面,这样,每个学生的排序是唯一确定的。 任务:先根据输入的3门课的成绩计算总分,然后按上述规则排序,最后按排名顺序输出...原创 2018-05-08 17:02:30 · 3220 阅读 · 0 评论 -
ACM小组的古怪象棋(CSU1224)
DescriptionACM小组的Samsara和Staginner对中国象棋特别感兴趣,尤其对马(可能是因为这个棋子的走法比较多吧)的使用进行深入研究。今天他们又在 构思一个古怪的棋局:假如Samsara只有一个马了,而Staginner又只剩下一个将,两个棋子都在棋盘的一边,马不能出这一半棋盘的范围,另外这 一半棋盘的大小很奇特(n行m列)。Samsara想知道他的马最少需要跳几次才能吃掉St...原创 2018-05-25 18:23:50 · 305 阅读 · 0 评论