ACM习题及反思
文章平均质量分 51
若节
这个作者很懒,什么都没留下…
展开
-
大数加法
题目链接:点击打开链接这道题读入数据用String,再转化为BigInteger,所用时间是直接由BigInteger读入的十分之一。import java.util.Scanner;import java.math.*;public class Main { public static void main(String[] args) { Scanner cin原创 2016-06-07 07:24:29 · 391 阅读 · 0 评论 -
魏佐夫博弈HDU1527
#include#includeusing namespace std;int main(){ int n,m,k; while(cin>>n>>m) { if(n<m) { int c=n; n=m; m=c; }原创 2016-04-17 22:02:49 · 315 阅读 · 0 评论 -
HDU1358 Period(KMP)
Problem DescriptionFor each prefix of a given string S with N characters (each character has an ASCII code between 97 and 126, inclusive), we want to know whether the prefix is a periodic string.原创 2016-04-16 14:11:16 · 477 阅读 · 0 评论 -
动态规划用法归纳
在实际应用中,展示动态规划的用法。 01背包问题#include#includeusing namespace std;int val[5000];int wei[5000];int f[13000];inline int max(int a,int b){ return a>b?a:b;}int main(){ memset(f,0,size原创 2016-04-08 17:50:08 · 458 阅读 · 0 评论 -
快排
#include #include using namespace std;void quick_sort(int dat[], int l, int r) { // 首先请填写下面三个变量的初值 int i = l, j =r , mid =dat[r] ; do { while (dat[i] < mid) ++i; while (原创 2016-04-01 13:00:22 · 283 阅读 · 0 评论 -
fire net
转自:点击打开链接Problem DescriptionSuppose that we have a square city with straight streets. A map of a city is a square board with n rows and n columns, each representing a street or a piece of wall转载 2016-03-30 07:09:45 · 322 阅读 · 0 评论 -
素数筛
The branch of mathematics called number theory is about properties of numbers. One of the areas that has captured the interest of number theoreticians for thousands of years is the question of primali原创 2016-03-29 13:11:59 · 384 阅读 · 0 评论 -
poj3461 Oulipo(KMP)
DescriptionThe French author Georges Perec (1936–1982) once wrote a book, La disparition, without the letter 'e'. He was a member of the Oulipo group. A quote from the book:Tout avait Pair nor原创 2016-04-19 22:40:54 · 601 阅读 · 0 评论 -
HDU5120 (容斥原理)
题目大意:求两环的相交面积。容斥原理,两个大圆面积之交集 - 两个大圆与另一个小圆面积之交集 + 两小圆面积之交集。直接拿模板。#include#include#includeusing namespace std;const double pai=acos(-1.0);class Circle{public: double x,y,r; Circle(d原创 2016-05-03 20:43:05 · 341 阅读 · 0 评论 -
Sequence(优先队列,或堆)
DescriptionGiven m sequences, each contains n non-negative integer. Now we may select one number from each sequence to form a sequence with m integers. It's clear that we may get n ^ m this kind原创 2016-03-25 21:17:03 · 326 阅读 · 0 评论 -
已知中序和后序建树
原题目是给你中序遍历和后序遍历,让你求出分层遍历的结果。这是根据中序遍历和后序遍历,进行建树,然后各种遍历结果就很容易求出了。build(int inl, int inr, int pol, int por, Node* &root)inl 表示建树时中序遍历的左边界限制, inr 表示建树时右边界的限制,pol,por表示后序遍历左右边界的限制,Node* &root 是当前根节原创 2016-05-15 20:35:44 · 1179 阅读 · 0 评论 -
Points in Rectangle (树状数组)
DescriptionAs the name says, this problem is about finding the number of points in a rectangle whose sides are parallel to axis. All the points and rectangles consist of 2D Cartesian co-ordinates.原创 2016-05-04 18:53:23 · 443 阅读 · 0 评论 -
树状数组详细介绍
树状数组(Binary Indexed Trees)November 15, 2012作者:Hawstein出处:http://hawstein.com/posts/binary-indexed-trees.html声明:本文采用以下协议进行授权: 自由转载-非商用-非衍生-保持署名|Creative Commons BY-NC-ND 3.0 ,转载请注明作者及出处。转载 2016-05-04 16:51:21 · 514 阅读 · 0 评论 -
Money Transfers
题意:有n个银行(n你在每个银行都存了或者欠他们一定数量的钱,但总和为0,你只能在相邻两个银行之间进行转账操作,比如和1相邻的两个银行是2和n。求最少的转账次数。思考此问题的过程: 一开始想到要将那些划分成不同区域,每个区域和为0,然后每有一个区域,其总的需要步骤减一,因为不需要将这部分汇入到整体的那一步。 一开始以为每次分一个区域便要进行处理。实际上,应该按照一个值去划原创 2016-05-28 23:22:12 · 421 阅读 · 0 评论 -
HDU4006
题目要求: 给你一个数列,两种命令,第一种:加入一个值,第二个命令:求出第k大的值。 反思: 这道题一直RunTime Error,最后才发现当要加入的位置是最后一位时,则待插入的位置,已经出了 vector 的界限了,故要加入判定。以后遇问题多从不同的角度去思考,不断思考,不然就换题。#include #include #include #inc原创 2016-06-09 12:14:40 · 510 阅读 · 0 评论 -
滑雪与时间胶囊
题目大意:一个孩子去滑雪,他想要用最短距离访问最多景点,题目会给出M条路径和N个景点。景点是路径的交点。这个孩子还有时间胶囊,时间胶囊可以让他直接转移到上次访问过的景点,问:在访问最多景点的条件下,最短路原创 2016-05-28 08:40:40 · 518 阅读 · 0 评论 -
LightOj1303
As we all know that not only children but Ferris-Wheel (FW) is favorite to all ages. That's why the LightOJ Park has made a special FW for the programmers. And unlike other Ferris-Wheels, this FW has原创 2016-04-22 14:45:32 · 643 阅读 · 0 评论 -
String HDU5672
Problem DescriptionThere is a string S.S only contain lower case English character.(10≤length(S)≤1,000,000)How many substrings there are that contain at least k(1≤k≤26) distinct characters?原创 2016-04-24 07:39:37 · 477 阅读 · 0 评论 -
poj 3264RMQ
DescriptionFor the daily milking, Farmer John's N cows (1 ≤ N ≤ 50,000) always line up in the same order. One day Farmer John decides to organize a game of Ultimate Frisbee with some of the cows.原创 2016-04-30 07:49:40 · 451 阅读 · 0 评论 -
poj 1952buy low, buy lower
The advice to "buy low" is half the formula to success in the bovine stock market.To be considered a great investor you must also follow this problems' advice: "Buy low; buy lowe原创 2016-04-24 12:54:09 · 457 阅读 · 0 评论 -
uva548Tree
You are to determine the value of the leaf node in a given binary tree that is the terminal node of apath of least value from the root of the binary tree to any leaf. The value of a path is the sum原创 2016-05-06 15:28:05 · 737 阅读 · 0 评论 -
poj1654
题目大意:一个坐标系,从原点开始走,然后1-4分别代表,向右下走,向右走,向右上走,向下走,5代表回到原点,6-9代表,向上走,向左下走,向左走,向左上走。(看翻译直接无限WA),给出一串包含1-9的字符串,问你这些点所围成的面积。根据向量叉乘即为其组成平行四边形的面积,除以二变(取绝对值)为三角形的面积向量的一边为(a,b),另一边为(c,d)s=abs(a*d-b*c)/2;原创 2016-05-28 20:47:36 · 390 阅读 · 0 评论 -
map的使用
DescriptionIgnatius is so lucky that he met a Martian yesterday. But he didn't know the language the Martians use. The Martian gives him a history book of Mars and a dictionary when it leaves. Now原创 2016-03-25 16:51:21 · 333 阅读 · 0 评论 -
素数表
DescriptionThe young and very promising cryptographer Odd Even has implemented the security module of a large system with thousands of users, which is now in use in his company. The cryptographic原创 2016-03-25 15:25:44 · 325 阅读 · 0 评论 -
HDU2141
DescriptionGive you three sequences of numbers A, B, C, then we give you a number X. Now you need to calculate if you can find the three numbers Ai, Bj, Ck, which satisfy the formula Ai+Bj+Ck = X.原创 2016-05-12 06:46:58 · 411 阅读 · 0 评论 -
Counterfeit Dollar
转自: 点击打开链接DescriptionSally Jones has a dozen Voyageur silver dollars. However, only eleven of the coins are true silver dollars; one coin is counterfeit even though its colo转载 2016-03-22 11:57:37 · 341 阅读 · 0 评论 -
Number Sequence
DescriptionA single positive integer i is given. Write a program to find the digit located in the position i in the sequence of number groups S1S2...Sk. Each group Sk consists of a sequence of p原创 2016-03-22 11:00:58 · 277 阅读 · 0 评论 -
The 3n + 1 problem
DescriptionProblems in Computer Science are often classified as belonging to a certain class of problems (e.g., NP, Unsolvable, Recursive). In this problem you will be analyzing a property of an a原创 2016-03-21 07:24:15 · 254 阅读 · 0 评论 -
冗余关系
题目大意:n个语句,m个人。好友关系具有传递性,问有多少语句是多余的?#include using namespace std;int fa[2000];// 还记得之前阅读课里讲的并查集算法// father函数返回的是节点x的祖先节点int father(int x) { if (fa[x] != x) fa[x] = father(fa[x]); retu原创 2016-04-01 19:56:20 · 665 阅读 · 0 评论 -
Numbers That Count
Description"Kronecker's Knumbers" is a little company that manufactures plastic digits for use in signs (theater marquees, gas station price displays, and so on). The owner and sole employee, Kl原创 2016-03-20 23:12:04 · 505 阅读 · 0 评论 -
ACM常用算法
转自:点击打开链接图论 路径问题 0/1边权最短路径 BFS 非负边权最短路径(Dijkstra) 可以用Dijkstra解决问题的特征 负边权最短路径 Bellman-Ford Bellman-Ford的Yen-氏优化 差分约束系统 Floyd 广义路径问题 传递闭包 极小极大距离 / 极大极小距离 Euler Path / T原创 2016-03-20 18:08:32 · 268 阅读 · 0 评论 -
poj , hdu习题分类
转自:点击打开链接POJ:按照ac的代码长度分类(主要参考最短代码和自己写的代码)短代码:0.01K--0.50K;中短代码:0.51K--1.00K;中等代码量:1.01K--2.00K;长代码:2.01K以上。短:1147、1163、1922、2211、2215、2229、2232、2234、2242、2245、2262、2301、2309、2313转载 2016-03-19 10:40:17 · 960 阅读 · 0 评论 -
UVA699 二叉树
转自:点击打开链接http://www.cnblogs.com/cute/p/3640416.html// UVa699 The Falling Leaves// Rujia Liu// 题意:给一棵二叉树,每个节点都有一个水平位置:左儿子在它左边1个单位,右儿子在右边1个单位。从左向右输出每个水平位置的所有结点的权值之和。按照递归方式输入,-1表示空树// 算法:在“建树”的同时转载 2016-03-18 16:22:29 · 1083 阅读 · 0 评论 -
poj3984迷宫问题
Description定义一个二维数组: int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0,};它表示一个迷宫,其中的1表示墙壁,0表示可以走的路,只能横着走或竖着走,不能斜着走,要求编程序找出从左上角到右下角的最短原创 2016-03-29 23:25:50 · 323 阅读 · 0 评论 -
Robot Motion
DescriptionA robot has been programmed to follow the instructions in its path. Instructions for the next direction the robot is to move are laid down in a grid. The possible instructions are原创 2016-03-22 20:03:50 · 271 阅读 · 0 评论 -
HDU2430 beans
链接:http://acm.hdu.edu.cn/showproblem.php?pid=2430题目大概讲述:给你n堆豆子,按序号排列,现让你任取连续堆豆子,将其装在许多大小为p的袋子里,剩余的豆子不能超过k,问最多能装多少袋?这道题若是用单调队列做:你应当找出每个位置,和在其前面的与其坐标差距最大的位置,并且两位置之间的豆子总数%p用单调递增队列来做,余数大的堆被排在后面,余数原创 2016-03-12 16:44:01 · 630 阅读 · 0 评论 -
sliping windows
DescriptionAn array of size n ≤ 10 6 is given to you. There is a sliding window of size k which is moving from the very left of the array to the very right. You can only see the k numbers in the原创 2016-03-25 14:35:03 · 398 阅读 · 0 评论 -
拓扑排序浅析
基本思路:1.读入数据,记录图的入度和邻接表。2.每次找入度为 0 的顶点,然后输出,将与该顶点相连的顶点的入度减一,重复上述,直至无法找到入度为 0 的顶点,完毕。附上hdu1285#include#include#include#include#define MAX 600using namespace std;int map[MAX][MAX]; //邻原创 2016-05-11 18:37:49 · 347 阅读 · 0 评论 -
poj1157Little Shop of Flowers(动态规划题)
DescriptionYou want to arrange the window of your flower shop in a most pleasant way. You have F bunches of flowers, each being of a different kind, and at least as many vases ordered in a row.原创 2016-04-18 19:25:59 · 399 阅读 · 0 评论 -
HDU4355(三分)
题目大意:有n个精灵在一维坐标轴上,并且每个精灵都有一个权值,每个精灵从一个点到达一个点要花费:S3*W(s代表距离),问所有的精灵要聚在一起,最小花费是多少。设最终要求的点的位置是x,则花费为:∑fabs(x[i]-x)^3*w[i]。此函数为凸函数,因此可以三分。三分基本套路: 通过对一段区域中间分一点,将区域分为左右两部分,再分别取中间,对两个原创 2016-05-26 08:58:48 · 420 阅读 · 0 评论