大三ACM - 基础题目
Little_boy_z
这个作者很懒,什么都没留下…
展开
-
51nod 1307 绳子与重物 二分+dfs
有N条绳子编号 0 至 N - 1,每条绳子后面栓了一个重物重量为Wi,绳子的最大负重为Ci。每条绳子或挂在别的绳子下或直接挂在钩子上(编号-1)。如果绳子下所有重物的重量大于绳子的最大负重就会断掉(等于不会断)。依次给出每条绳子的负重Ci、重物的重量Wi以及绳子会挂在之前的哪条绳子的下面,问最多挂多少个绳子而不会出现绳子断掉的情况。例如下图:5, 2, -13,原创 2017-11-15 21:04:10 · 182 阅读 · 0 评论 -
51nod 1509 加长棒 插板法
现在有三根木棒,他们的长度分别是a,b,c厘米。你可以对他们进行加长(不同的木棒可以增加不同的长度),他们总的加长长度不能超过L厘米。你也可以不对他们进行加长。现在请你计算一下有多少种加长的方式使得他们能构成合法的三角形(面积非0)。Input单组测试数据。共一行,包含4 个整数a,b,c,L (1≤a,b,c≤3*10^5, 0≤L≤3*10^5)。原创 2017-11-27 18:02:49 · 276 阅读 · 0 评论 -
2018 蓝桥杯省赛 B 组模拟赛(一)-数列求值
对于一个含有 n+2n+2 个元素的数列,A_0, A_1, \cdots A_nA0,A1,⋯An,满足这样的递归公式\displaystyle A_i = \frac{A_{i-1} + A_{i + 1}}{2} - C_i\ \ \ 1 \le i \le nAi=2Ai−1+Ai+1−Ci 1≤i≤n现在我们知道 A_0, A_{n +原创 2018-01-22 09:32:19 · 1388 阅读 · 0 评论 -
Hello 2018 D. Too Easy Problems
You are preparing for an exam on scheduling theory. The exam will last for exactly T milliseconds and will consist of nproblems. You can either solve problem i in exactly ti milliseconds or ignore原创 2018-01-22 11:28:32 · 319 阅读 · 0 评论 -
C. Party Lemonade 很像背包的贪心
A New Year party is not a New Year party without lemonade! As usual, you are expecting a lot of guests, and buying lemonade has already become a pleasant necessity.Your favorite store sells lemona原创 2018-01-22 15:36:20 · 468 阅读 · 2 评论 -
B. New Year's Eve 异或运算
Since Grisha behaved well last year, at New Year's Eve he was visited by Ded Moroz who brought an enormous bag of gifts with him! The bag contains n sweet candies from the good ol' bakery, each labe原创 2018-01-24 15:43:38 · 444 阅读 · 0 评论 -
poj 1182 食物链 三重并查集问题
#include#includeusing namespace std;int father[150010];int findd(int x){ return father[x]==x ? x : father[x]=findd(father[x]);}bool jiance(int x,int y){ return findd(原创 2018-01-31 20:03:02 · 143 阅读 · 0 评论 -
poj2785 二分查找
输入n,表示a b c d 四个集合都有n个元素。之后每行输入4个集合中的一个元素。求这四个集合每个集合中拿出一个数相加等于0的组数。思路如果直接搜,复杂度为O(N^3),时间不满足要求。 折半搜索比较适合,把4个数字分成两份,分别两两求和,得到两个长度n*n的一维数组,排序后比较进行匹配即可。 另外这个题还可以用hash,具体参考:POJ2785 4 Values who原创 2018-02-01 19:28:14 · 336 阅读 · 0 评论 -
二进制枚举法(常用!!)
#include using namespace std;int main(){ int n; cin>>n; for(int i=0;i { for(int j=0;j { if(i>>j&1) { cout原创 2018-02-01 19:45:38 · 344 阅读 · 0 评论 -
poj 分桶法和平方分割
#include #include #include #include using namespace std; const int B = 1000 ; const int MAX_N = 100000; int nums[200000]; int L[10000]; int R[10000]; int K[10000]; int原创 2018-02-02 20:33:15 · 237 阅读 · 0 评论 -
算法提高 拿糖果 DP
问题描述 妈妈给小B买了N块糖!但是她不允许小B直接吃掉。 假设当前有M块糖,小B每次可以拿P块糖,其中P是M的一个不大于根号下M的质因数。这时,妈妈就会在小B拿了P块糖以后再从糖堆里拿走P块糖。然后小B就可以接着拿糖。 现在小B希望知道最多可以拿多少糖。输入格式 一个整数N输出格式 最多可以拿多少糖样例输入15样例原创 2017-12-02 16:28:31 · 324 阅读 · 0 评论 -
1491 黄金系统 思维题
q=5√+12,在黄金系统下面a0a1...an等于 ∑ni=0ai∗qn−i ,其中 ai 是0或者1。现在给出两个黄金系统下面的数字,请比较他们的大小。Input单组测试数据。第一行有一个字符串A。第二行有一个字符串B。按照a0到an的顺序输入。他们都是非空串,可能有前导0,并且只有0和1组成,长度不超过100000。Output如果原创 2017-11-22 20:06:52 · 248 阅读 · 0 评论 -
算法训练 最大最小公倍数
问题描述已知一个正整数N,问从1~N中任选出三个数,他们的最小公倍数最大可以为多少。输入格式输入一个正整数N。输出格式输出一个整数,表示你找到的最小公倍数。样例输入9样例输出504一开始直接暴力了..结果直接超时了..这道题需要找规律。1 2 3 4 5 6 7 8 9 10 11原创 2017-11-30 19:36:42 · 211 阅读 · 0 评论 -
51nod 1460 连接小岛 贪心+multiset的用法
有n个小岛,每一个小岛是直线型的,他们不相互相交,第i个小岛所占的区间是[li, ri],而且, ri li+1 对于所有的 1 ≤ i ≤ n-1。现在要将相邻的小岛用桥连接起来。现在有一条桥的长度是a,第i个岛和第i+1个岛能够连接的条件是,存在x,y使得 li ≤ x ≤ ri, li+1 ≤ y ≤ ri+1 且 y - x = a成立。现在有m条桥,每条桥最多被使用原创 2017-11-21 18:02:29 · 308 阅读 · 0 评论 -
51nod 1105 第K大的数 二分
数组A和数组B,里面都有n个整数。数组C共有n^2个整数,分别是A[0] * B[0],A[0] * B[1] ......A[1] * B[0],A[1] * B[1]......A[n - 1] * B[n - 1](数组A同数组B的组合)。求数组C中第K大的数。例如:A:1 2 3,B:2 3 4。A与B组合成的C包括2 3 4 4 6 8 6 9 12共9个数。原创 2017-11-21 19:52:29 · 260 阅读 · 0 评论 -
poj3276(开关问题)
可算明白了..BBFBFBB我们到达第三个F,我们需反转。标记一下在3出反转了(vis[3]=1). 对以后的影响是+1.,用sum记载影响程度即sum=1;我们到达第四个,虽然是B,但是收到前面影响(sum==1),也就是变成F了。我们需要反转。标记vis[4]=1. ,sum再+1.即sum=2;也就是第五个会受到sum=2个影响。以此类推。 不过到达第i个时,第i个不原创 2017-12-09 16:02:09 · 401 阅读 · 0 评论 -
超大背包问题 折半枚举法
#include #include #include #include using namespace std; typedef long long ll; const int maxn = 40 + 5; const int INF = 10000000; int n; ll w[maxn], v[maxn]; ll W原创 2017-12-09 16:52:24 · 449 阅读 · 0 评论 -
51nod 1191 消灭兔子 贪心+优先队列
有N只兔子,每只有一个血量B[i],需要用箭杀死免子。有M种不同类型的箭可以选择,每种箭对兔子的伤害值分别为D[i],价格为P[i](1 特别说明:1、当箭的伤害值大于等于兔子的血量时,能将兔子杀死;2、血量B[i],箭的伤害值D[i],箭的价格P[i],均小于等于100000。Input第1行:两个整数N,M,中间用空格分隔(1 <= N, M <= 5000原创 2017-11-16 18:47:29 · 207 阅读 · 0 评论 -
51nod 1523 非回文
一个字符串是非回文的,当且仅当,他只由前p个小写字母构成,而且他不包含长度大于等于2的回文子串。给出长度为n的非回文串s。请找出字典序比s大的,而且字典序要最小的长度为n的非回文。Input单组测试数据。第一行有两个整数n 和p (1≤n≤1000; 1≤p≤26)。第二行包含一个字符串s,它的长度是n。输入保证他是非回文的。Output输出原创 2017-11-16 20:25:30 · 842 阅读 · 0 评论 -
51nod 1535 深海探险 并查集判断环和连通度
很久很久以前的一天,一位美男子来到海边,海上狂风大作。美男子希望在海中找到美人鱼,但是很不幸他只找到了章鱼怪。 然而,在世界的另一端,人们正在积极的收集怪物的行为信息,以便研制出强大的武器来对付章鱼怪。由于地震的多发,以及恶劣的天气,使得我们的卫星不能很好的定位怪物,从而不能很好的命中目标。第一次射击的分析结果会反映在一张由n个点和m条边组成的无向图上。现在让我们来确定这张图是不是原创 2017-11-16 20:57:29 · 276 阅读 · 0 评论 -
scanf输出 小数的问题
printf("%.6E\n",a);这样会输出 科学计数法xxxx.yyyyyE+23 yyyyy个个数为6个原创 2017-12-01 18:58:34 · 3632 阅读 · 0 评论 -
Educational Codeforces Round 36 (Rated for Div. 2) C 不大于某个数的序列变换
C. Permute Digitstime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputYou are given two positive integer numbers a and b. Permute (change order) of the原创 2018-01-19 12:42:46 · 274 阅读 · 1 评论 -
J - The Meaningless Game CodeForces - 834C
if(a*a%b == 0&&b*b%a == 0) 这一步特别重要例如3,7. 他们的积是21.符合要求3*3*3=21.但是应该输出no。因为7和3无法由k累乘获得。我们要保证a和b有同一个约数。#include<cstdio>#include<iostream>#include<algorithm>using namespace ...原创 2018-02-10 13:56:47 · 157 阅读 · 0 评论 -
分治法解决逆序对
用分治法来解决,这样能把n2变成nlogn#include<iostream>#include<stdio.h>#include<vector>using namespace std;vector<int>A;int hanshu(vector<int>&A){ int n=A.size();//当前数组长度 if(n<=1...原创 2018-03-06 15:19:33 · 1394 阅读 · 0 评论 -
HDU - 6029 Graph Theory 规律题
Little Q loves playing with different kinds of graphs very much. One day he thought about an interesting category of graphs called ``Cool Graph'', which are generated in the following way: Let the set...原创 2018-04-08 17:46:42 · 450 阅读 · 0 评论 -
程序设计:合并数字 重复判断技巧
蒜头君得到了 nn 个数,他想对这些数进行下面这样的操作,选出最左边的相邻的差的绝对值为 11 的两个数,只保留较小的数,删去较大的数,直到没有两个相邻的差的绝对值为 11 的数,问最多可以进行多少次这样的操作?输入格式输入第一行为一个整数 n(1 \leq n \leq 10^5)n(1≤n≤105),表示数字的总数第二行为 nn 个整数 x_1,x_2,...,x_n(0 \leq x_i \...原创 2018-03-26 22:05:51 · 332 阅读 · 0 评论 -
CodeForces - 831C Jury Marks 思维题
Polycarp watched TV-show where k jury members one by one rated a participant by adding him a certain number of points (may be negative, i. e. points were subtracted). Initially the participant had som...原创 2018-04-03 19:18:30 · 266 阅读 · 0 评论 -
hdu6029 Graph Theory
思维题;如果前面有2,那么我们当前1必须和前面那个2匹配。如果前面没有2了,那么我们这个1就当做2看,因为它没法和前面的链了,它属于被连的那个#include<stdio.h>#include<string.h>#include<iostream>#include<algorithm>using namespace std;int main(){ ...原创 2018-04-06 21:44:03 · 221 阅读 · 0 评论 -
HDU - 5927 F - Auxiliary Set
Given a rooted tree with n vertices, some of the vertices are important. An auxiliary set is a set containing vertices satisfying at least one of the two conditions: ∙∙It is an important vertex ∙∙It i...原创 2018-04-30 20:36:59 · 305 阅读 · 0 评论 -
山东第一届acm Greatest Number 二分+数字处理
Problem DescriptionSaya likes math, because she think math can make her cleverer.One day, Kudo invited a very simple game:Given N integers, then the players choose no more than four integers from them...原创 2018-05-01 20:40:40 · 252 阅读 · 0 评论 -
Problem G Gentlebots 随机模拟
Rainforest Inc. is opening a large new automated warehouse in the far Northern reaches of theUK—some place they call “Walthamstow”.The robotic worker drones inside will operate in not just one or two,...原创 2018-05-03 15:43:05 · 437 阅读 · 0 评论 -
Mathmen 优先队列贪心
Problem DescriptionMathmen love mathematics, and they live on the number line. All the mathmen spend all their time on solving mathematical problems and proving theorems. Like humen beings, mathmen do...原创 2018-04-27 20:06:34 · 246 阅读 · 0 评论 -
POJ3613 Cow Relays 快速幂最短路!! 神题
题意:给定一个T(2 <= T <= 100)条边的无向图,求S到E恰好经过N(2 <= N <= 1000000)条边的最短路。一次floyd我们都走了一个k。我们执行n-1次即可。这里我们用快速幂进行处理。注意离散化#include <cstdio>#include <cstring>#include <map>using names...原创 2018-03-05 20:27:28 · 400 阅读 · 0 评论 -
C. Laboratory Work
Anya and Kirill are doing a physics laboratory work. In one of the tasks they have to measure some value n times, and then compute the average value to lower the error.Kirill has already made his meas...原创 2018-03-12 21:27:18 · 325 阅读 · 0 评论 -
FZU - 2214 C - Knapsack problem 超大背包
Given a set of n items, each with a weight w[i] and a value v[i], determine a way to choose the items into a knapsack so that the total weight is less than or equal to a given limit B and the total va原创 2018-01-29 19:51:10 · 196 阅读 · 0 评论 -
Rectangles CodeForces - 844B
You are given n × m table. Each cell of the table is colored white or black. Find the number of non-empty sets of cells such that:All cells in a set have the same color.Every two cells in a set share ...原创 2018-02-10 18:27:10 · 289 阅读 · 0 评论 -
Sorting by Subsequences CodeForces - 844C
You are given a sequence a1, a2, ..., an consisting of different integers. It is required to split this sequence into the maximum number of subsequences such that after sorting integers in each of the...原创 2018-02-11 21:56:38 · 444 阅读 · 0 评论 -
UVa 10245 - The Closest Pair Problem 平面分治
求出纯左边和纯右边的最小值。下面我们要考虑横跨两边的点的最小值会不会比这个最小值还要小。假设我们纯的最小值为x。我们从mid点开始向两边扩展往左扩展,l=mid,l到mid的x坐标之差小于最小值,我们l--,直到扩展到x坐标之差都大于最小值位置。同理r=mid向右扩展。为什么用x坐标之差呢,因为三角形,如果短边都大于了,那么斜边肯定会大于最小值。最后我们获得一个l到r的区域,这个区域内的点与mid...原创 2018-03-06 18:23:33 · 200 阅读 · 0 评论 -
打印十字图
说实话真的怕这种题..问题描述小明为某机构设计了一个十字型的徽标(并非红十字会啊),如下所示:..$$$$$$$$$$$$$....$...........$..$$$.$$$$$$$$$.$$$$...$.......$...$$.$$$.$$$$$.$$$.$$.$...$...$...$.$$.$.$$$.$.$$$.$.$$.$.$...$...$.$.$$.$.$.$$$$$.$.$.$...原创 2018-03-06 21:09:52 · 162 阅读 · 0 评论 -
Codeforces Round #469 B. Intercepted Message
Hacker Zhorik wants to decipher two secret messages he intercepted yesterday. Yeah message is a sequence of encrypted blocks, each of them consists of several bytes of information.Zhorik knows that ea...原创 2018-03-09 20:25:51 · 581 阅读 · 0 评论