acm笔记
MInNrz
猪事顺利^(oo)^
展开
-
PAT 甲级 1003 Emergency (dfs+剪枝)
1003 Emergency (25 分)As an emergency rescue team leader of a city,you are given a special map of your country. The map shows severalscattered cities connected by some roads. Amount of rescue teams ineach city and the length of each road between any pa原创 2021-03-06 15:12:41 · 138 阅读 · 0 评论 -
1060 爱丁顿数(新思路)
1060 爱丁顿数 (25 分)英国天文学家爱丁顿很喜欢骑车。据说他为了炫耀自己的骑车功力,还定义了一个“爱丁顿数” E ,即满足有 E 天骑车超过 E 英里的最大整数 E。据说爱丁顿自己的 E 等于87。现给定某人 N 天的骑车距离,请你算出对应的爱丁顿数 E(≤N)。输入格式: 输入第一行给出一个正整数 N (≤10 5 ),即连续骑车的天数;第二行给出 N 个非负整数,代表每天的骑车距离。输出格式: 在一行中给出 N 天的爱丁顿数。输入样例:106 7 6 9 3 10 8.原创 2021-02-20 20:47:51 · 262 阅读 · 0 评论 -
1050 螺旋矩阵(碰壁法)
1050 螺旋矩阵 (25 分)本题要求将给定的 N 个正整数按非递增的顺序,填入“螺旋矩阵”。所谓“螺旋矩阵”,是指从左上角第 1 个格子开始,按顺时针螺旋方向填充。要求矩阵的规模为 m 行 n 列,满足条件:m×n 等于 N;m≥n;且 m−n 取所有可能值中的最小值。输入样例: 12 37 76 20 98 76 42 53 95 60 81 58 93 输出样例: 98 95 93 42 37 8153 20 76 58 60 76题目链接:https://pintia.cn/pro.原创 2021-02-19 20:19:51 · 131 阅读 · 0 评论 -
1045 快速排序(25分)
1045 快速排序 (25 分)著名的快速排序算法里有一个经典的划分过程:我们通常采用某种方法取一个元素作为主元,通过交换,把比主元小的元素放到它的左边,比主元大的元素放到它的右边。给定划分后的 N 个互不相同的正整数的排列,请问有多少个元素可能是划分前选取的主元?例如给定 N=5N = 5N=5, 排列是1、3、2、4、5。则:1 的左边没有元素,右边的元素都比它大,所以它可能是主元; 尽管 3 的左边元素都比它小,但其右边的 2 比它小,所以它不能是主元; 尽管2 的右边元素都比它大,但其左.原创 2021-02-18 16:44:21 · 72 阅读 · 0 评论 -
sprintf和sscanf的简单用法(c语言)
简单用于字符串和数字之间的相互转换在这里插入代码片#include <iostream>#include <cstdio>#include<cstring>#include <algorithm>#include <cmath>using namespace std;int main(){ //char-->数字 char s[10]; sprintf(s,"%d",123); printf("%s\n原创 2021-01-31 12:32:24 · 189 阅读 · 0 评论 -
poj3061(尺取法,前缀和+二分)
题目链接 http://poj.org/problem?id=3061题目:A sequence of N positive integers (10 < N < 100 000), each of them less than or equal 10000, and a positive integer S (S < 100 000 000) are given. Writ...原创 2019-08-08 09:44:10 · 141 阅读 · 0 评论 -
poj2777(线段树)
题目链接:http://poj.org/problem?id=2777题目大意:给定n个板子,和t种颜色,o次操作,每次有两种操作:C a b x操作:把[a,b]区间内的版子全都涂成x色P a b操作 :查询[a,b]内有多少种颜色思路:首先看n的范围和t的范围t只有30,比较小,可以用二进制存储每一种颜色,比如010是一种,001又是一种,011就是两种了也可以开一个k[...原创 2019-08-06 17:05:10 · 169 阅读 · 0 评论 -
POJ1151 ,hdu1542,codevs3304(离散化,线段树,扫描线)
题目链接:http://codevs.cn/problem/3044/题目描述 Description输入n个矩形,求他们总共占地面积(也就是求一下面积的并)输入描述 Input Description 可能有多组数据,读到n=0为止(不超过15组)每组数据第一行一个数n,表示矩形个数(n<=100)接下来n行每行4个实数x1,y1,x2,y1(0 <= x1 < x...原创 2019-08-06 14:45:07 · 168 阅读 · 0 评论 -
codeforce 612D(扫描线入门)
D. The Union of k-SegmentsYou are given n segments on the coordinate axis Ox and the number k. Thepoint is satisfied if it belongs to at least k segments. Find thesmallest (by the number of segmen...原创 2019-08-02 23:27:26 · 209 阅读 · 0 评论 -
hdu2755(线段树)
Problem DescriptionAt the entrance to the university, there is a hugerectangular billboard of size h*w (h is its height and w is itswidth). The board is the place where all possible announcements ...原创 2019-08-01 17:20:49 · 158 阅读 · 0 评论 -
hdu1754(线段树入门题)
Problem Description很多学校流行一种比较的习惯。老师们很喜欢询问,从某某到某某当中,分数最高的是多少。这让很多学生很反感。不管你喜不喜欢,现在需要你做的是,就是按照老师的要求,写一个程序,模拟老师的询问。当然,老师有时候需要更新某位同学的成绩。Input 本题目包含多组测试,请处理到文件结束。 在每个测试的第一行,有两个正整数 N 和 M (0<N<=20...原创 2019-08-01 16:02:48 · 206 阅读 · 0 评论 -
hdu1698(线段树入门)
Problem DescriptionIn the game of DotA, Pudge’s meat hook is actuallythe most horrible thing for most of the heroes. The hook is made up ofseveral consecutive metallic sticks which are of the same...原创 2019-07-31 23:36:21 · 156 阅读 · 0 评论 -
线段树学习
原理讲解可以参考这篇博客:https://www.cnblogs.com/huangzihaoal/p/11161024.html里面的讲解非常细致,代码中的每一个变量都加了单独的注释,可以说是非常易懂了但是他的代码不能直接当模板来用,有点臃肿,但是理解起来很方便,值得学习推荐自己手动写一个模板,加深印象线段树的应用场景:可以用来解决序列的 区间修改,区间查询(加减乘),单点修改,单...原创 2019-07-31 23:24:15 · 138 阅读 · 0 评论 -
hdu1195(bfs)
Now an emergent task for you is to open a password lock. The passwordis consisted of four digits. Each digit is numbered from 1 to 9. Eachtime, you can add or minus 1 to any digit. When add 1 to ‘...原创 2019-07-30 11:56:39 · 196 阅读 · 0 评论 -
hdu1242(BFS)
Problem Description Angel was caught by the MOLIGPY! He was put inprison by Moligpy. The prison is described as a N * M (N, M <= 200)matrix. There are WALLs, ROADs, and GUARDs in the prison.Ang...原创 2019-07-27 17:16:46 · 136 阅读 · 0 评论 -
hdu1175(dfs)
Problem Description “连连看”相信很多人都玩过。没玩过也没关系,下面我给大家介绍一下游戏规则:在一个棋盘中,放了很多的棋子。如果某两个相同的棋子,可以通过一条线连起来(这条线不能经过其它棋子),而且线的转折次数不超过两次,那么这两个棋子就可以在棋盘上消去。不好意思,由于我以前没有玩过连连看,咨询了同学的意见,连线不能从外面绕过去的,但事实上这是错的。现在已经酿成大祸,就只能将...原创 2019-07-27 12:29:18 · 129 阅读 · 0 评论 -
hdu2492(树状数组)
Problem DescriptionN(3<=N<=20000) ping pong players live along awest-east street(consider the street as a line segment).Each player has a unique skill rank. To improve their skill rank, they...原创 2019-07-26 15:31:50 · 183 阅读 · 0 评论 -
hdu2838(树状数组)
Problem Description Sherlock’s N (1 ≤ N ≤ 100,000) cows are lined upto be milked in the evening. Each cow has a unique “grumpiness” levelin the range 1…100,000. Since grumpy cows are more likely to...原创 2019-07-26 11:00:00 · 152 阅读 · 0 评论 -
hdu1541(树状数组)
Problem DescriptionAstronomers often examine star maps where stars are represented by points on a plane and each star has Cartesian coordinates. Let the level of a star be an amount of the stars tha...原创 2019-07-25 11:37:31 · 135 阅读 · 0 评论 -
hdu1285(拓扑排序)
Problem Description有N个比赛队(1<=N<=500),编号依次为1,2,3,。。。。,N进行比赛,比赛结束后,裁判委员会要将所有参赛队伍从前往后依次排名,但现在裁判委员会不能直接获得每个队的比赛成绩,只知道每场比赛的结果,即P1赢P2,用P1,P2表示,排名时P1在P2之前。现在请你编程序确定排名。Input输入有若干组,每组中的第一行为二个数N(1<...原创 2019-07-24 13:02:51 · 184 阅读 · 0 评论 -
hdu2094(map+拓扑排序)
产生冠军有一群人,打乒乓球比赛,两两捉对撕杀,每两个人之间最多打一场比赛。球赛的规则如下:如果A打败了B,B又打败了C,而A与C之间没有进行过比赛,那么就认定,A一定能打败C。如果A打败了B,B又打败了C,而且,C又打败了A,那么A、B、C三者都不可能成为冠军。根据这个规则,无需循环较量,或许就能确定冠军。你的任务就是面对一群比赛选手,在经过了若干场撕杀之后,确定是否已经实际上产生...原创 2019-07-24 09:01:57 · 269 阅读 · 0 评论 -
hdu1251(字典树)
Problem DescriptionIgnatius最近遇到一个难题,老师交给他很多单词(只有小写字母组成,不会有重复的单词出现),现在老师要他统计出以某个字符串为前缀的单词数量(单词本身也是自己的前缀).Input输入数据的第一部分是一张单词表,每行一个单词,单词的长度不超过10,它们代表的是老师交给Ignatius统计的单词,一个空行代表单词表的结束.第二部分是一连串的提问,每行一个...原创 2019-07-23 10:09:20 · 104 阅读 · 0 评论 -
hdu1247(字典树)
Hat’s Words Time Limit: 2000/1000 MS (Java/Others) Memory Limit:65536/32768 K (Java/Others) Total Submission(s): 16086 AcceptedSubmission(s): 5737Problem Description A hat’s word is a word i...原创 2019-07-22 17:42:57 · 113 阅读 · 0 评论 -
hdu 1075(字典树)
题目:What Are You Talking AboutTime Limit: 10000/5000 MS (Java/Others) Memory Limit: 102400/204800 K (Java/Others)Total Submission(s): 19695 Accepted Submission(s): 6468problem Description Ig...原创 2019-07-22 16:01:20 · 120 阅读 · 0 评论 -
DP求最大正方形的边长(hnust 1714)
题目大意:给定一个n*n的正方形,里面有E(表示空地),F(表示被占有的地),求最大的正方形空地的边长思路:用dp[i][j]表示以a[i][j]为右下角的最大正方形的边长,注意:是以a[i][j]为右下角,也就是说a[i][j]必须是空的只有当 ↖ ← ↑ 这三个方向都是都为空时才能向外拓展,所以dp[i][j]=min(dp[i-1][j-1],dp[i-...原创 2019-04-23 21:53:40 · 256 阅读 · 0 评论 -
最大连续子序列和
题目比较经典,我用dp来做个自我总结思路如下:代码仅供参考:#include <iostream>using namespace std;int main(){ int n,dp[100],ans,x,a[100]; cin>>n; for(int i=0;i<n;i++) cin>>a[i...原创 2019-04-23 19:16:39 · 139 阅读 · 0 评论 -
poj 1182(查并集)
食物链Time Limit:1000MS Memory Limit:10000K Total Submissions:101460 Accepted:30662 题目大意很简单理解思路:用查并集,参考《挑战程序设计竞赛》思路,自己写了一份差不多的代码,代码中有注释虽然这个题很老了,但个人感觉还是不错的把三种类分成三组,但是这三组存在同...原创 2019-04-23 16:49:29 · 116 阅读 · 0 评论 -
hnust 1885 Problem F 搬书
题目描述XCQ队长要退役啦,由于队长常年刷题,机位上摆着各类算法书,一个人实在是搬不动,所以他叫来了他的小弟ZZX帮忙搬书。队长突然灵机一动,给ZZX出了一个问题。假设机位上有n本书,每本书的体积分别为ai,那么如果使用容量为V的书包来装书最少要几个书包呢?(注意书是不可拆分的,整体要么装到一个书包,要么不装)。ZZX(冥思苦想): 不会呀。XCQ: 看你这么弱,我就把问题再简化...原创 2019-04-12 00:13:28 · 161 阅读 · 0 评论 -
STL set里面会自动排序
set的基本用法就不多阐述了set里面会自动排序(从小到大),以后可以利用好这个特性set里面用的是平衡二叉搜索树(也就是红黑树)维护看代码#include <iostream>#include <set>using namespace std;int main(){ set<int> st; set<int&g...原创 2019-04-11 18:44:16 · 9472 阅读 · 2 评论 -
团体程序设计天梯赛( 连续因子)
L1-006连续因子(20分)一个正整数N的因子中可能存在若干连续的数字。例如 630 可以分解为 3×5×6×7,其中 5、6、7 就是 3 个连续的数字。给定任一正整数N,要求编写程序求出最长连续因子的个数,并输出最小的连续因子序列。输入格式:输入在一行中给出一个正整数N(1<N<231)。输出格式:首先在第 1 行输出最长连续因子的个数;然...原创 2019-03-20 21:40:01 · 247 阅读 · 0 评论 -
2018天梯赛 L2-1分而治之
转载来自:https://blog.csdn.net/qq_34594236/article/details/79974240L2-1分而治之(25分)分而治之,各个击破是兵家常用的策略之一。在战争中,我们希望首先攻下敌方的部分城市,使其剩余的城市变成孤立无援,然后再分头各个击破。为此参谋部提供了若干打击方案。本题就请你编写程序,判断每个方案的可行性。输入格式:输入在第一行给...转载 2019-03-19 19:06:57 · 144 阅读 · 0 评论 -
2017年天梯赛全国总决赛(L1-6 整除光棍)
题目:L1-6 整除光棍 (20 分)这里所谓的“光棍”,并不是指单身汪啦~ 说的是全部由1组成的数字,比如1、11、111、1111等。传说任何一个光棍都能被一个不以5结尾的奇数整除。比如,111111就可以被13整除。 现在,你的程序要读入一个整数x,这个整数一定是奇数并且不以5结尾。然后,经过计算,输出两个数字:第一个数字s,表示x乘以s是一个光棍,第二个数字n是这个光棍的位数。这样的...原创 2019-03-18 19:07:51 · 357 阅读 · 0 评论 -
HDU 4407 Sum
XXX is puzzled with the question below: 1, 2, 3, ..., n (1<=n<=400000) are placed in a line. There are m (1<=m<=1000) operations of two kinds. Operation 1: among the x-th number to the y...原创 2018-08-20 16:27:17 · 187 阅读 · 0 评论 -
hdu 3388 Coprime
Please write a program to calculate the k-th positive integer that is coprime with m and n simultaneously. A is coprime with B when their greatest common divisor is 1.InputThe first line contains...原创 2018-08-19 18:04:44 · 294 阅读 · 0 评论 -
hdu2841(容斥原理)
There are many trees forming a m * n grid, the grid starts from (1,1). Farmer Sherlock is standing at (0,0) point. He wonders how many trees he can see. If two trees and Sherlock are in one line, Far...原创 2018-08-16 17:53:22 · 645 阅读 · 0 评论 -
hdu 1695 (容斥原理)
Given 5 integers: a, b, c, d, k, you're to find x in a...b, y in c...d that GCD(x, y) = k. GCD(x, y) means the greatest common divisor of x and y. Since the number of choices may be very large, you're...原创 2018-08-16 17:00:31 · 452 阅读 · 0 评论 -
容斥原理模板(二进制表示)
烦的噶兰滴被容斥定理给纠结死了注释有详细解释,一个模板,改改就行强烈推荐手动模拟程序#include <bits/stdc++.h>using namespace std;int gcd(int a,int b){ return b==0?a:gcd(b,a%b);}int lcm(int a,int b){ return a*b/gc...原创 2018-08-15 15:54:42 · 325 阅读 · 2 评论 -
hdu2588(欧拉函数的运用)
Problem DescriptionThe greatest common divisor GCD(a,b) of two positive integers a and b,sometimes written (a,b),is the largest divisor common to a and b,For example,(1,2)=1,(12,18)=6.(a,b) can be ...原创 2018-08-15 10:29:49 · 151 阅读 · 0 评论 -
有关负进制数的转换
常见的进制数有2,8,10,16,等,但是如果是以-2,-8为进制怎么办呢其实✨并不难下面这个代码是以-2进制为例的代码,其他的正数进制或负数进制只要改-2即可代*号的几行就是只有在负数进制中才会起作用的代码。可以当作一个模板(不可用于10进制以上的) #include <iostream>#include <vector>using namesp...原创 2018-08-14 12:44:35 · 1489 阅读 · 0 评论 -
HNUST 挑战ACM迷宫(DFS版)
题目描述 如下图所示的是一个由程序设计题目组成的ACM迷宫。迷宫的左上角是入口,右下角是出口。迷宫中每一个格子都有一个程序设计题目,挑战者要AC该题目后才能通过,大于0的数字表示AC该题目所需的最短时间。数字如果是0表示是陷阱,进去了就出不来。现在的问题是:求挑战者从入口到出口所需的最短时间。输入有多组测试实例。对于每组测试实例,先输入一个数字n(1<n<=10...原创 2018-08-13 11:44:39 · 511 阅读 · 0 评论