Description 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 the land into numerous square plots. It…
题目链接:http://acm.hust.edu.cn/vjudge/contest/121192#problem/G 此题大意是给定一个数n 然后有n个数 要求求出其中位数  刚开始以为是按数学中的中位数当n为偶数时输出中间两位数之和再除以2    这题是只要先排序再输出第n/2个数即可 ac代码: import java.io.BufferedInputStream; import java.util.Arrays; import java.util.Scanner; public clas…
Description 读入一个只包含 +, -, *, / 的非负整数计算表达式,计算该表达式的值.    Input 测试输入包含若干测试用例,每个测试用例占一行,每行不超过200个字符,整数和运算符之间用一个空格分隔.没有非法表达式.当一行中只有0时输入结束,相应的结果不要输出.    Output 对每个测试用例输出1行,即该表达式的值,精确到小数点后2位.    Sample Input 1 + 2 4 + 2 * 5 - 7 / 11 0   Sample Output 3.00 1…
There is a famous railway station in PopPush City. Country there is incredibly hilly. The station was built in last century. Unfortunately, funds were extremely limited that time. It was possible to establish only a surface track. Moreover, it turned…
B - Catch That Cow Description Farmer 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 ≤ K ≤ 100,000) on the same num…
F                                                                                                                        Find a way Pass a year learning in Hangzhou, yifenfei arrival hometown Ningbo at finally. Leave Ningbo one year, yifenfei have ma…
题目链接:http://acm.hust.edu.cn/vjudge/contest/126708#problem/G 这是一个01背包的模板题 AC代码: #include<stdio.h> #include<string.h> #include<algorithm> using namespace std; ]; struct Node { int xishouliang; int xingfuzhi; } a[]; int main() { int i, j, t…
题目链接:http://acm.hust.edu.cn/vjudge/contest/123674#problem/G 这题和上一道题差不多,还更简单点,直接用prim算法就行,直接贴AC代码: import java.io.BufferedInputStream; import java.util.Scanner; public class Main { final static int N = 1 << 20; static int n, m, a[][] = new int[105][1…
题目链接:http://acm.hust.edu.cn/vjudge/contest/121192#problem/O 这道题是一道典型二分搜素题,题意是给定3个数组 每个数组的数有m个 再给定l个sum要求在每个数组中是否有一个数之和等于sum   首先对每一个数组进行排序 然后把前两个集合所有情况的数加起来并保存在一个sun数组里  再对最后一个数组中的元素被sum减   得到的值再去sun数组中寻找   有的话就存在退出,因为最后一个数组的大小会小于sun数组的大小 能够节省时间 ac代码…
题目链接:http://acm.hust.edu.cn/vjudge/contest/121192#problem/L 这是一道很有意思的题,就是给定一个以原点为圆心的圆,然后给定 一个点  求最大三角的 其他的坐标 ,很容易知道这个三角形一定是等边三角形,所以圆心就是三角形的重心,刚开始用直线的方程来写,还要解一个复杂的一元二次方程,十分复杂,后来又想到一种简单的方法 这样就可以得到一个点的坐标  又重心为圆点  则三点的横坐标之和为0 总坐标之和为0 ac代码: import java.io…
题目链接:http://acm.hust.edu.cn/vjudge/contest/121192#problem/K 这也是一道贪心题,刚开始写时以为只要对每一敌人的攻击和血的乘积进行从小到大排序即可,但老是结果错误,最后看了下别人的思路才知道要比值  也可以第一的血乘以第二个的攻击与第二的血乘以第一个的攻击进行排序,就很好解决了 ac代码: #include <iostream> #include <fstream> #include <algorithm> usi…
题目链接:http://acm.hust.edu.cn/vjudge/contest/121192#problem/J 此题要求是计算能够看到最多的节目 ,贪心算法即可,首先对结束时间排序,然后在把开始的时间和前面的结束时间比较 如果开始时间大于前面的结束的时间就可以记一次,然后在慢慢累计 ac代码: #include <iostream> #include <algorithm> #include <cstring> using namespace std; int…
Description 给出了一个序列,你需要处理如下两种询问. "C a b c"表示给[a, b]区间中的值全部增加c (-10000 ≤ c ≤ 10000). "Q a b" 询问[a, b]区间中所有值的和. Input 第一行包含两个整数N, Q.1 ≤ N,Q ≤ 100000. 第二行包含n个整数,表示初始的序列A (-1000000000 ≤ Ai ≤ 1000000000). 接下来Q行询问,格式如题目描述. Output 对于每一个Q开头的询问…
Description 很多学校流行一种比较的习惯.老师们很喜欢询问,从某某到某某当中,分数最高的是多少.这让很多学生很反感. 不管你喜不喜欢,现在需要你做的是,就是按照老师的要求,写一个程序,模拟老师的询问.当然,老师有时候需要更新某位同学的成绩. Input 本题目包含多组测试,请处理到文件结束.在每个测试的第一行,有两个正整数 N 和 M ( 0<N<=200000,0<M<5000 ),分别代表学生的数目和操作的数目.学生ID编号分别从1编到N.第二行包含N个整数,代表这N…
Description Lily 特别喜欢养花,但是由于她的花特别多,所以照料这些花就变得不太容易.她把她的花依次排成一行,每盆花都有一个美观值.如果Lily把某盆花照料的好的话,这盆花的美观值就会上升,如果照料的不好的话,这盆花的美观值就会下降.有时,Lily想知道某段连续的花的美观值之和是多少,但是,Lily的算术不是很好,你能快速地告诉她结果吗? Input 第一行一个整数T,表示有T组测试数据. 每组测试数据的第一行为一个正整数N(N<=50000),表示Lily有N盆花.接下来有N个正…
Description A tree is a well-known data structure that is either empty (null, void, nothing) or is a set of one or more nodes connected by directed edges between nodes satisfying the following properties. There is exactly one node, called the root, t…
A - 士兵队列训练问题 Description 某部队进行新兵队列训练,将新兵从一开始按顺序依次编号,并排成一行横队,训练的规则如下:从头开始一至二报数,凡报到二的出列,剩下的向小序号方向靠拢,再从头开始进行一至三报数,凡报到三的出列,剩下的向小序号方向靠拢,继续从头开始进行一至二报数...,以后从头开始轮流进行一至二报数.一至三报数直到剩下的人数不超过三人为止.    Input 本题有多个测试数据组,第一行为组数N,接着为N行新兵人数,新兵人数不超过5000.    Output 共有N行…
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表示可以走的路,只能横着走或竖着走,不能斜着走,要求编程序找出从左上角到右下角的最短路线. Input 一个5 × 5的二维数组,表示一个迷宫.数据保证有唯一解. Output 左上角到右下角的最短路径,格式如样例所示. Sa…
Description 在N*N的方格棋盘放置了N个皇后,使得它们不相互攻击(即任意2个皇后不允许处在同一排,同一列,也不允许处在与棋盘边框成45角的斜线上. 你的任务是,对于给定的N,求出有多少种合法的放置方法.  Input 共有若干行,每行一个正整数N≤10,表示棋盘和皇后的数量:如果N=0,表示结束. Output 共有若干行,每行一个正整数,表示对应输入行的皇后的不同放置数量. Sample Input 1 8 5 0 Sample Output 1 92 10 分析: 本题可以把问题…
题目链接:http://acm.hust.edu.cn/vjudge/contest/125308#problem/G 题意:求有多少x(1<=x<=n),使得gcd(x,n)>=m;     先求n的所有大于等于m的因子, 刚开始用了模拟,超时,看了下往上的题解,说要用到欧拉函数求解,就看了下欧拉函数,  ans=∑phi[n/ei];phi[i]为欧拉函数,为不大于i且与i互质的正整数个数 对于一个与ei互质且小于等于n/ei的正整数p来说,p*ei<=n,gcd(p*ei,n…
题目链接:http://acm.hust.edu.cn/vjudge/contest/126708#problem/H 题意:A有一大堆的硬币,他觉得太重了,想花掉硬币去坐的士:的士司机可以不找零,但是的士司机也不会多收零钱.怎么样才能使 A 花的零钱最多. 多重背包模板题 AC代码: import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.Inpu…
题目链接:http://acm.hust.edu.cn/vjudge/contest/126708#problem/F 题意:求至上而下一条路径的所经过的值得和最大值,这题比赛时就出了 但当时看不懂题目一直没写,这就和数字三角形差不多,只是加上了他的下部分,分上下两种情况就行. AC代码: #include<cstdio> #include <cstring> #include <iostream> using namespace std; int i,j,n; ][]…
题目链接:http://acm.hust.edu.cn/vjudge/contest/126708#problem/E 题意:给做出的题目个数,5个的100分,4个的前n/2的同学95,后n/2的90  后面一次类推,没做出来的全是50分  这个题只要模拟下就好了  先按题目个数拍好序 得到每个题目做出的人数,在打分,最后在按原来的顺序排序  ,在一次输出他们所得的分数:按原来的顺序排序可以先给每个要个变量记住他们的顺序,在排序就好 AC代码: #include <iostream> #inc…
题目链接:http://acm.hust.edu.cn/vjudge/contest/126708#problem/C 题意:这是一道求字符串的公共子串的最大长度的题目,用dp动态方程即可 if(a[i]==b[j]) dp[i][j]=dp[i-1][j-1]+1; else dp[i][j]=(dp[i][j-1]>p[j][i-1]?dp[i][j-1]:p[j][i-1]); 这题主要是要注意两个字符串是同一行输入,题目没说字符串的长度,用c不是dp数组开大了编译不了就是开小了运行错误,…
题目链接:http://acm.hust.edu.cn/vjudge/contest/125308#problem/D 这题要求错误的方式有多少种,就是一个错排公式,记得公式就行           a[i]=(i-1)*(a[i-1]+a[i-2]); AC代码: #include<stdio.h> ] = {,,,,,,,,,,,,,,,,,,,,}; int main() { int x; //直接打表 while(~scanf("%d",&x)&&a…
题目链接:http://acm.hust.edu.cn/vjudge/contest/125308#problem/C 题意:给你一个高为n ,宽为m列的网格,计算出这个网格中有多少个矩形  这个题只要看两部分就行,先是横一排 是M长  最多m*(m+1)/2  个    再是竖一列 最多n*(n+1)/2个, 现在就把排和列拉伸,形成一个高为n*(n+1)/2,宽为m*(m+1)/2的网格,这样只要算下面积就行了 AC代码: #include<stdio.h> int main() { in…
题目链接:http://acm.hust.edu.cn/vjudge/contest/125308#problem/A 这题主要考的就是就是一个排列公式,但是不能用阶乘的公式,    用这个公式不易超时 a[i][j] = a[i - 1][j] + a[i - 1][j - 1];另外这个公式也可以求杨辉三角 AC代码: #include<stdio.h> ][]; void C() { ; i<= ; i++) { a[][] = ; a[i][] = ; ; j<= ; j+…
题目链接:http://acm.hust.edu.cn/vjudge/contest/123674#problem/F 题意:在相通n个岛屿的所有桥都坏了,要重修,重修每一个桥所用的时间不同,求重修使每个岛屿都间接或直接与其他岛屿相同时所用的的最短时间  这就是一个简单的最小生成树的模板题,只要用了prime算法模板,但题是给出点的字母名,可以先转化为数字,在建立数组,就很容易写出来AC: import java.io.BufferedInputStream; import java.util.…
题目链接:http://acm.hust.edu.cn/vjudge/contest/123674#problem/C N题目大意是有n个点,然后给出从a点到b点的距离,a和b是互相可以抵达的,则是无向图,问从1到n的最短距离 解题思路:只是一道简单的最短路问题,按照最短路模板就能AC,但这题还有有个主意点,就是重边问题,但我用的是spfa算法,就不需要考虑这个问题,如果是dijkstra算法就要考虑这个问题: ac代码: import java.util.Comparator; import…
题目链接:http://acm.hust.edu.cn/vjudge/contest/126708#problem/J 题意:求一段子的连续最大和,只要每个数都大于0 那么就会一直增加,所以只要和0 比较就行,如果加上一数小于0了那么肯定要重新开始找,否则就不断更新最大值就行 AC代码: #include<stdio.h> #include<string.h> ]; int main() { int t,a,i,max,n,sum,start,ends,f; scanf("…