---------ACM---------
文章平均质量分 86
ACM 算法设计竞赛集合
Mercury_Lc
宁愿笑着哭
展开
-
合并数组 【归并 或 思维】
合并数组Description给定两个有序数组,第一个增序,第二个降序,输出两个数组合并后的增序数组。Input第一行两个整数n和m。(1<=n<=100000,1<=m<=100000)第二行n个整数ai。(1<=a[i]<=1e9,a[i]<=a[i+1])第三行m个整数bi。(1<=b[i]<=1e9,b[i]>=b[i+1])Output输出一行,表示合并后的增序数组。Sample Input 1.原创 2020-07-05 21:01:05 · 219 阅读 · 0 评论 -
使用函数判断三角形(10分)【简单判断 IF 】
使用函数判断三角形(10分)Description给定n个可选的木棍长度,问是否能够选出3个构成三角形。注意,你需要实现一个函数ok,来判断传入的三个边长能否构成三角形。函数接口定义:int isTriangle( int x, int y, int z);传入三个边长参数x,y,z,是三角形返回1,否则0。Input第一行一个整数n。(3<=n<=20)第二行n个整数,代表木棍长度a[i]。(1<=a[i]<=10^8)Output若能够原创 2020-07-05 16:54:34 · 1938 阅读 · 0 评论 -
P3916 图的遍历【反向建边 + DFS】
https://www.luogu.com.cn/problem/P3916题目描述给出NN个点,MM条边的有向图,对于每个点vv,求A(v)A(v)表示从点vv出发,能到达的编号最大的点。输入格式第1 行,2 个整数N,MN,M。接下来MM行,每行2个整数U_i,V_iUi,Vi,表示边(U_i,V_i)(Ui,Vi)。点用1, 2,\cdots,N1,2,⋯,N编号。输出格式N 个整数A(1),A(2),\cdots,A(N)A(1),A(2),⋯,A(N)。输.原创 2020-10-05 16:55:43 · 404 阅读 · 0 评论 -
P1706 全排列问题【STL 全排列函数】
https://www.luogu.com.cn/problem/P1706题目描述输出自然数11到nn所有不重复的排列,即nn的全排列,要求所产生的任一数字序列中不允许出现重复的数字。输入格式一个整数nn。输出格式由1 \sim n1∼n组成的所有不重复的数字序列,每行一个序列。每个数字保留55个场宽。输入输出样例输入 #1复制3输出 #1复制 1 2 3 1 3 2 2 1 ...原创 2020-10-05 16:15:43 · 279 阅读 · 0 评论 -
判断数据类型(10分)【 C语言基础 】
判断数据类型(10分)Description假设现在你要判断数据类型是否为int、long long、double,输入n个字符串,请你判断其代表的数据类型是什么,且输入的每个字符串保证是正数,且是这三种类型的一种。Input第一行一个整数n。(n<=10)接下来n行每行一个字符串s。(|s|<=10)Output对于每个字符串s,输出“int”或“long long”或“double”。Sample Input 13129999999999123..原创 2020-07-05 16:35:50 · 2949 阅读 · 1 评论 -
Fire Game (FZU 2150)(BFS)
题解:一开始想错了,以为只要烧完就是那个答案,但是这不是最优的结果,需要每两个点都bfs一遍,找到如果能够全部烧完,找到花费时间最小的,如果不能return -1。在bfs的时候,记录答案的方法参考了一下其他大神的思路,把能烧到地方都需要能够用个二维数组dis[ ]来标记烧到这个地方时所用的时间是多少。在经过一次两点的bfs后就需要找dis[ ]中最大的那个点,因为这一定是烧完的最后一个点。最后找...原创 2018-09-11 09:54:43 · 158 阅读 · 0 评论 -
Doki Doki Literature Club ZOJ - 4035
Doki Doki Literature ClubZOJ - 4035 题解:其实就是简单排序输出就没了。#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>#include <queue>using namespace...原创 2018-11-02 16:27:33 · 360 阅读 · 0 评论 -
齿轮 HYSBZ - 4602 (DFS实现)
齿轮 HYSBZ - 4602 题意:很好理解就不啰嗦了。 致谢:感谢队友小明。题解:嗯,一开始想到的是并查集,后来,就先看了另一道题,xj写dfs和暴力,就卡死了。于是来补这题了,前向星建图题解:本题正解是考察并查集,不过这里就不说了,等到以后再说了。这题是用dfs来实现。Step1:很好想到就是把每一个齿轮搜索一下,(假设现在搜索u齿轮,可以往简单的方向想,即u转...原创 2018-11-09 00:09:38 · 168 阅读 · 0 评论 -
F 阎小罗的Minimax (第十届山东理工大学ACM网络编程擂台赛 正式赛 )
题解:by Mercury_Lc阎小罗的矩阵给的n和m都不超过300,枚举一下所有情况就可以了,用前缀和来储存。数组a[x][y]代表前x行前y列的和是多少,那么枚举每一种切割的方式就可以。注意一下切掉的第x行和第y列的数都是不计入的,减掉的时候别重复或者遗漏了。参考代码:#include <stdio.h>#include <stdlib.h>#incl...原创 2018-11-18 15:16:12 · 264 阅读 · 0 评论 -
K Simple question (第十届山东理工大学ACM网络编程擂台赛 正式赛)
题解:素数筛+唯一分解定理 可以把素数筛那部分放到while之外,减小时间复杂度。#include <stdio.h>#include <stdlib.h>#include <string.h>#include <stdbool.h>#include <assert.h>const int maxn = 110000...原创 2018-11-18 15:19:52 · 335 阅读 · 2 评论 -
Bacteria (Gym - 101911C)
2018-2019 ACM-ICPC, NEERC, Southern Subregional Contest, Qualification StageBacteriaGym - 101911C题意:像2048这个游戏,相同的两个可以合并在一起变成一个数(数值变成二倍),但是现在有一些数只有一个,所以需要添加一个和这些数相同的,让他们可以合并在一起,现在问最小添加多少个数可以把所有的数...原创 2018-11-24 20:56:25 · 411 阅读 · 0 评论 -
Bellman_Ford算法详解
待更新原创 2018-12-02 18:19:33 · 547 阅读 · 0 评论 -
A. Vasya and Book ( Codeforces Educational Codeforces Round 55 )
题意:当前在看书的第 x 页,每次可以向前或者向后翻 d 页,这个书一共 n 页,问能否用最小操作翻到第 y 页。题解:三种情况:1、直接翻能到的一定最短。 2、先翻到第一页,然后往后翻,翻到第 y 页。3、先翻到第 n 页,然后往前翻,翻到第 y 页。#include<bits/stdc++.h>using namespace std;typedef long lo...原创 2018-12-12 20:02:05 · 148 阅读 · 0 评论 -
CONTINUE...? ZOJ - 4033
CONTINUE...?ZOJ - 4033题解:先计算一下总数sum是否是偶数,如果不是则不能分出来,如果是则从后面开始分,先把人分到1、3组,分完sum / 2这些人,如果恰好能够分成零,那么剩下前面的都分到2、4组就可以了。如果不能,那么就把当前剩下的它需要的x能够凑成sum/2,将x这个地方的人分到1、3组。#include <cstdio>#include &...原创 2018-11-02 16:26:02 · 216 阅读 · 0 评论 -
Magic Points ZOJ - 4032
The 15th Zhejiang Provincial Collegiate Programming Contest Sponsored by TuSimpleMagic PointsZOJ - 4032题意:给你3n个点,编号从0到3n-1,呈正放心分布,找n对点连起来,让线与线的交点经可能多。题解:最下面的这n个点,前n - 1个点和第n + 1到 2n - 1个点相连,第n...原创 2018-11-02 16:18:49 · 263 阅读 · 0 评论 -
Cash Machine (POJ 1276)(多重背包——二进制优化)
链接:POJ - 1276 题意:给你一个最大金额m,现在有n种类型的纸票,这些纸票的个数各不相同,问能够用这些纸票再不超过m的前提下凑成最大的金额是多少?题解:写了01背包直接暴力,结果T了,时间复杂度太高了,要跑外循环m和内循环所有的纸票的个数。这个题需要把每种纸票的的个数存的时候转化成2的次幂的形式来存,比如有8个$1,就可以存成1,2,4,1。这样就可以不存放8个1了,如果在个数大...原创 2018-10-31 16:03:02 · 250 阅读 · 0 评论 -
Digit Division(排列组合+思维)(Gym 101480D )
题目链接:Central Europe Regional Contest 2015 Zagreb, November 13-15, 2015D、Digit Division(排列组合+思维)题解:如果这个数从划分的过程中第一、二道竖线前的能够整除m,那么第一道与第二道竖线之间的数也能够整除m。#include <bits/stdc++.h>using namesp...原创 2018-10-11 18:51:57 · 477 阅读 · 0 评论 -
Kernel Knights (Gym - 101480K)
题目链接#include <bits/stdc++.h>using namespace std;typedef long long ll;int a[200005]; //存放原始数据int vis[200005]; //标记选的对手int b[200005]; //答案序列queue<int>q; //把所有能够选的都存一次,接着遍历与它有关系...原创 2018-10-11 19:59:45 · 422 阅读 · 0 评论 -
Book Borders (Gym - 101480B)(二分)
题目链接题解:用二分查询一下每次满足长度的下一个加上它的长度。#include <bits/stdc++.h>using namespace std;typedef long long ll;ll a[500005];ll b[500005] = {0};int main(){ ll n,i,j,k,p=1,l,r; char c; mem...原创 2018-10-11 20:56:08 · 360 阅读 · 0 评论 -
Til the Cows Come Home ( POJ 2387) (简单最短路 Dijkstra)
problemBessie is out in the field and wants to get back to the barn to get as much sleep as possible before Farmer John wakes her for the morning milking. Bessie needs her beauty sleep, so she wan...原创 2018-10-19 08:29:56 · 548 阅读 · 0 评论 -
畅通工程续(HDU 1874)(简单最短路)
某省自从实行了很多年的畅通工程计划后,终于修建了很多路。不过路多了也不好,每次要从一个城镇到另一个城镇时,都有许多种道路方案可以选择,而某些方案要比另一些方案行走的距离要短很多。这让行人很困扰。现在,已知起点和终点,请你计算出要从起点到终点,最短需要行走多少距离。Input本题目包含多组数据,请处理到文件结束。每组数据第一行包含两个正整数N和M(0<N<200,0<M...原创 2018-10-19 08:51:50 · 270 阅读 · 0 评论 -
Jumbled String (Kattis - jumbledstring)(思维题)
ProblemRecall that a subsequence of a string is any string obtained by removing some subset of characters from the string, for instance “string”, “sing”, “i” and “sg” are all subsequences of “string...原创 2018-10-17 09:35:03 · 940 阅读 · 2 评论 -
House Lawn Kattis - houselawn
ProblemYou have just bought a new house, and it has a huge, beautiful lawn. A lawn that needs cutting. Several times. Every week. The whole summer.After pushing the lawnmower around the lawn durin...原创 2018-10-17 10:38:22 · 625 阅读 · 0 评论 -
「网络流 24 题」搭配飞行员 (二分匹配 最大匹配)
题目描述飞行大队有若干个来自各地的驾驶员,专门驾驶一种型号的飞机,这种飞机每架有两个驾驶员,需一个正驾驶员和一个副驾驶员。由于种种原因,例如相互配合的问题,有些驾驶员不能在同一架飞机上飞行,问如何搭配驾驶员才能使出航的飞机最多。因为驾驶工作分工严格,两个正驾驶员或两个副驾驶员都不能同机飞行。输入格式第一行,两个整数 n n n 与 m m m,表示共有 n n n 个飞行员,其中...原创 2018-10-29 11:00:42 · 229 阅读 · 0 评论 -
A. The Fair Nut and Elevator (Codeforces Round #526 (Div. 2))
A. The Fair Nut and Elevator好笨啊QAQ。暴力枚举的题,连分类都不用。从电梯初始位置到第一层、人到第一层、间隔的层数,往返路程。#include <bits/stdc++.h>using namespace std;int a[105];int main(){ int n; while(~scanf("%d",...原创 2018-12-12 21:32:41 · 242 阅读 · 0 评论 -
C. Prefixes and Suffixes ( Codeforces Round #527 (Div. 3) )
题意:给你一个 n 长度的字符串,给你 2n - 2 个子串,其中有 n - 1 个前缀和 n - 1 个后缀,输出一个合法的判断。题解: 找到 n - 1 长的子串一个是(假设第一个是)最长前缀,另一个是最长后缀。 判断假设是否正确,遍历所有子串,如果符合前缀 tot 加 1,如果 tot 不够 n - 1 或者我们假设的那个前缀从第二个开始不等于那个后缀的前 n - 2 个...原创 2018-12-19 19:38:03 · 306 阅读 · 0 评论 -
PTA 练习 L1-006 连续因子 (20 分)
L1-006 连续因子 (20 分)一个正整数 N 的因子中可能存在若干连续的数字。例如 630 可以分解为 3×5×6×7,其中 5、6、7 就是 3 个连续的数字。给定任一正整数 N,要求编写程序求出最长连续因子的个数,并输出最小的连续因子序列。输入格式:输入在一行中给出一个正整数 N(1<N<231)。输出格式:首先在第 1 行输出最长连续因子的个数;然...原创 2019-02-16 20:11:59 · 4340 阅读 · 0 评论 -
New Distinct Substrings 【 后缀数组 模板题 】
New Distinct SubstringsGiven a string, we need to find the total number of its distinct substrings.InputT- number of test cases. T<=20; Each test case consists of one string, whose length is...原创 2019-02-17 14:26:08 · 202 阅读 · 0 评论 -
A. Sasha and His Trip
Codeforces Round #539 (Div. 2)&:刷水题找信心系列。题意:开车从1出发到n,油箱体积V,1-n在一条直线上,相邻相距是1,i 个城市的油价是 i 元一升,一升油可以走 1 个单位,问消耗最小钱到达n。#include <bits/stdc++.h>using namespace std;typedef long long ll;...原创 2019-02-18 14:53:19 · 645 阅读 · 0 评论 -
C/C++读入含有空格的字符串
好久之前遇到 gets()不准用的情况,所以稍稍参考了一下网上的方法,整理一下。 char st[maxn];string s;1、gets(st);2、scanf("%[^\n]",st);3、getline( cin, s); // 这里s是 string4、cin.get(st , maxn);5、cin.getline(st,maxn); ...原创 2019-02-18 20:43:17 · 864 阅读 · 0 评论 -
A. Be Positive 【 Codeforces Round #542 [Alex Lopashev Thanks-Round] (Div. 2) 】
Codeforces Round #542 [Alex Lopashev Thanks-Round] (Div. 2) 题意:给你 n 个数,找个 d 让这个 n 个数除以 d 之后大于零的数至少是 n / 2 个。&:分类一下,输出 1 或者 -1 或者 0 就可以了。#include<bits/stdc++.h>using namespace std;...原创 2019-03-01 16:48:43 · 205 阅读 · 0 评论 -
B. Two Cakes
Codeforces Round #542 [Alex Lopashev Thanks-Round] (Div. 2) 题意:两个人都从最左边出发,对于每个人来说都要拿够从 1 - n 的每个数,相邻两个数距离是 1,问最小花费步数可以让两个人全部拿够。&:排序,依次选取就可以。#include<bits/stdc++.h>using namespace ...原创 2019-03-01 16:51:52 · 451 阅读 · 0 评论 -
C. Connect 【 BFS + 暴力 】
Codeforces Round #542 [Alex Lopashev Thanks-Round] (Div. 2) 题意:给你一个 n * n 的图,给你起点和终点,只要是 0 的位置就可以随便移动,可以上下左右移动,问从起点到终点的最小距离的平方,这里的距离是欧几里得距离,可以通过走 0 来减小距离。&: BFS 两个点,暴力可以走的点的数组求最小距离。#i...原创 2019-03-01 16:56:19 · 297 阅读 · 0 评论 -
D1. Toy Train (Simplified) 和 D2. Toy Train
Codeforces Round #542 [Alex Lopashev Thanks-Round] (Div. 2) Codeforces Round #542 [Alex Lopashev Thanks-Round] (Div. 1) 题意:分别在不同的起点出发,把糖果运到相应的编号的车站需要的最小距离,在每一站火车只能装一个糖果,相邻车站距离是 1.&:因为只能装一个糖...原创 2019-03-01 17:08:27 · 666 阅读 · 0 评论 -
Palindromization Gym - 100971K
K - Palindromization Gym - 100971K 题意:恰好删除一个字符让原来的串变成回文串。&:感觉比赛的时候写的好麻烦,赛后看了看别人的,觉得和我的想法一样,先找两边,如果不行,那么第一次删除左边,第二次删除右边,然后讨论最后结果。当然要加入一个计数器,来判断需要修改的数量。#include <bits/stdc++.h>usi...原创 2019-02-16 15:32:32 · 247 阅读 · 0 评论 -
Triangles Gym - 100971C
C - Triangles Gym - 100971C 题意:找一个数能够满足在给定的n个数里面随便找两个数构成三角形。&:找到临界值,也就是两边之差最大的和两边之和最小的。 #include <bits/stdc++.h>using namespace std;typedef long long ll;ll a[200005];int m...原创 2019-02-16 15:23:12 · 208 阅读 · 1 评论 -
A. Vova and Train ( Codeforces Round #515 (Div. 3) )
题意:一条 L 长的路,一列车长在这条路的 l 到 r 之间,只有在 v 倍数时有灯,但是在 l 到 r 之间的灯是看不见的,问最大看见的灯的个数?题解:L / v 表示总共的灯的个数, r / v 、( l - 1 ) / v 表示前 r 、( l - 1 ) 长的路有多少灯,减一下就可以了。( 难题补不上了,QAQ,写个水题,放松一下)#include <iostrea...原创 2018-12-15 16:56:24 · 200 阅读 · 0 评论 -
A * B Problem Plus【HDU 1402】 【FFT求高精度乘法】
转自kuangbin模板、 #include <stdio.h>#include <string.h>#include <iostream>#include <algorithm>#include <math.h>#include <queue>#include <stack>#include转载 2019-01-21 16:27:17 · 298 阅读 · 0 评论 -
西南民族大学第十届校赛 题解
background:正值元旦,这一脚刚迈出校园,便又开始了比赛,得一地,习之,此篇仅用于交流使用。题号 题目 思路 A dreamstart的催促 计算第 i 个数的第 i 次方 快速幂 B TRDD got lost again C Company DFS D >A->B->C- 判断是否是...原创 2019-01-03 20:27:16 · 237 阅读 · 0 评论 -
Ancient Go ( HDU - 5546 ) ( BFS 搜索是否相连)
Ancient GoHDU - 5546 题意很简单,读入时用 scanf 的我,因为 getchar ( ) 就垫底了。QAQ。#include <iostream>#include <cstdio>#include <cstring>#include <cstdlib>#include <queue>usi...原创 2018-12-24 23:24:19 · 248 阅读 · 0 评论