ACM算法题
I_O_fly
身为一个喜欢算法的小菜鸡,喜欢自己自学
展开
-
彻头彻尾的理解kmp
作者:July时间:最初写于2011年12月,2014年7月21日晚10点 全部删除重写成此文,随后的半个多月不断反复改进。1. 引言 本KMP原文最初写于2年多前的2011年12月,因当时初次接触KMP,思路混乱导致写也写得混乱。所以一直想找机会重新写下KMP,但苦于一直以来对KMP的理解始终不够,故才迟迟没有修改本文。 然近期因开了个算法班,班上专门讲解数据结...转载 2019-11-15 12:04:09 · 323 阅读 · 0 评论 -
各种背包详解(自己总结) &&金明的预算和LOL(可依赖的背包问题)
在讲可依赖背包之前先回顾下背包九讲的内容,现在做dp多了发现背包问题真的是dp的鼻祖,好多种问题都是基于背包的模型发展而来,就是不是基于背包的,把背包搞懂也有利于你自己学习dp,以此来想到其它状态转移方程。首先,一开始是背包的基础构成--01背包。一般类型就是下面这种:题目有N件物品和一个容量为V的背包。第i件物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使价值总和最大...原创 2018-11-29 18:35:18 · 803 阅读 · 0 评论 -
火柴排队
火柴排队时间限制: 1 Sec 内存限制: 128 MB提交: 11 解决: 4[提交] [状态] [讨论版] [命题人:外部导入]题目描述涵涵有两盒火柴,每盒装有n根火柴,每根火柴都有一个高度。现在将每盒中的火柴各自排成一列,同一列火柴的高度互不相同,两列火柴之间的距离定义为: 其中ai表示第一列火柴中第i个火柴的高度,bi表示第二列火柴中第i 个火柴的高度。每列火柴中相...原创 2018-11-22 17:36:21 · 242 阅读 · 0 评论 -
差分数组详解
转载自:https://blog.csdn.net/zsyz_ZZY/article/details/79918809 题目:来先看一道裸题,有n个数。m个操作,每一次操作,将x~y区间的所有数增加z;最后有q个询问,每一次询问求出x~y的区间和。思路:很明显,直接用前缀和无法快速满足这个操作,所以我们就用到了查分数组。设a数组表示原始的数组;设d[i]=a[i]-...转载 2018-11-22 17:12:23 · 469 阅读 · 0 评论 -
单位矩阵
1060: 单位矩阵Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 118 Solved: 34[Submit][Status][Web Board][Edit] [TestData]DescriptionX是一个灰常讨厌数学的学生,所以想请你帮他解决一个简单的关于矩阵的问题。给定一个只有0和1构成的大小为M*N的矩阵,在其中找到最大...原创 2018-11-19 14:56:48 · 3602 阅读 · 0 评论 -
离散化
离散化是一种映射一种一一映射如果在一个特别大的域上(或者说特别大的区间)有一组数量不大的数据我们不在意他们的线性关系(谁是谁的多少多少倍)只在乎他们之间的大小关系(只在乎谁比谁大谁比谁小)就可以用1,2,3,4,5,...等等代表这一组数举个例子从西到东有一些房子正中间是市中心纪念碑小明住在纪念碑西面40米把这些房子排列在坐标轴上,记作小明在(-40)处小红住在(40)之类...原创 2018-11-21 13:32:44 · 189 阅读 · 0 评论 -
因子
因子Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 202 Solved: 18[Submit][Status][Web Board]Description有一个整数N,现在你的任务是计算出N!有多少个不同的因子.比如说,3! = 3 * 2 * 1, 那么3!的因子是1,2,3,6,所以3!有4个因子.Input数据的第一行...原创 2018-11-21 13:20:53 · 266 阅读 · 0 评论 -
找方块
1746: 找方块Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 111 Solved: 3[Submit][Status][Web Board]Description小明最近看到一件艺术品,是由许多黑白方块组成的矩形图,但是并不是黑白相间的。小明希望找到一个最大的黑白相间的矩形。Input第一行输入T(T<=10)。接...原创 2018-11-21 13:14:34 · 517 阅读 · 2 评论 -
单位矩阵
单位矩阵Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 149 Solved: 44[Submit][Status][Web Board]DescriptionX是一个灰常讨厌数学的学生,所以想请你帮他解决一个简单的关于矩阵的问题。给定一个只有0和1构成的大小为M*N的矩阵,在其中找到最大的子单位矩阵。单位矩阵是指主对角线上元素全部...原创 2018-11-21 13:12:19 · 1661 阅读 · 0 评论 -
ACM博弈论入门(转载)
转载自:https://blog.csdn.net/lgdblue/article/details/15809893 序:博弈是信息学和数学试题中常会出现的一种类型,算法灵活多变是其最大特点,而其中有一类试题更是完全无法用常见的博弈树来进行解答。 寻找必败态即为针对此类试题给出一种解题思路。此类问题一般有如下特点:1、博弈模型为两人轮流决策的非合作博弈。即两人轮流进行决策,并且两人都...转载 2018-11-12 18:27:09 · 450 阅读 · 0 评论 -
2018第一次校队集训题解
问题 A: 豆豆强的蛋糕店时间限制: 1 Sec 内存限制: 128 MB提交: 29 解决: 3[提交] [状态] [讨论版] [命题人:外部导入] [Edit] [TestData]题目描述豆豆强是一个人名,曾经是一名ACMer。通过打斗地主、录视频、作解说、开淘宝店等,豆豆强终于成功走上了致富之路。资金充足的豆豆强最近开了一家蛋糕店,作为一名特立独行的人,豆豆强受不了普通顾...原创 2018-11-18 18:48:22 · 2535 阅读 · 0 评论 -
UVA(10881)蚂蚁
题目大意:第一个数据代表数据组数,接下来三个数据 L T n ,分别代表棍长,时长以及蚂蚁数量,接下来n行是蚂蚁的初始位置以及初始方向。要求求出经过T秒后,各蚂蚁的状况。(相对棍子左端的距离,方向)蚂蚁相撞后会各自回头。若经过T秒后,两蚂蚁处于相同位置,则输出“该位置 + Turning”,若已离开木棍(刚好在木棍两端不算)输出“Fell off”,否则输出当前蚂蚁的状态。 这道题是一道逻...原创 2018-11-15 15:54:14 · 274 阅读 · 2 评论 -
poj(3468)A Simple Problem with Integers(区间更新,区间查询)
Language:Default A Simple Problem with Integers Time Limit:5000MS Memory Limit:131072K Total Submissions:145487 Accepted:45243 Case Time Limit:20...原创 2018-11-08 09:13:14 · 175 阅读 · 0 评论 -
简单易懂的背包讲解
转载自: https://blog.csdn.net/qq_34374664/article/details/52230368 背包之01背包、完全背包、多重背包详解 PS:大家觉得写得还过得去,就帮我把博客顶一下,谢谢。首先说下动态规划,动态规划这东西就和递归一样,只能找局部关系,若想全部列出来,是很...转载 2018-11-13 14:11:36 · 289 阅读 · 0 评论 -
I Hate It(区间最大值)
I Hate It Time Limit: 9000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 106034 Accepted Submission(s): 39810 Problem Description 很多学...原创 2018-11-05 19:22:05 · 234 阅读 · 0 评论 -
排兵布阵(线段树入门)
敌兵布阵 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 127509 Accepted Submission(s): 53425 Problem Description C国的死对头A国...原创 2018-11-05 16:36:34 · 711 阅读 · 0 评论 -
线段树从零开始(转载自一个写的非常好的大佬)
转载自:https://blog.csdn.net/zearot/article/details/52280189 线段树从零开始By 岩之痕一:为什么需要线段树?题目一:10000个正整数,编号1到10000,用A[1],A[2],A[10000]表示。修改:无统计:1.编号从L到R的所有数之和为多少? 其中1<= L <= R <= 10000.方法一...转载 2018-11-04 22:29:36 · 141 阅读 · 0 评论 -
背包九讲
【转】背包九讲-dd_engi-第一部分 (2012-03-24 23:26:49)转载▼标签: 背包 动态规划 空间复杂度 物品 杂谈分类: mass转载:dd_engi 的背包九讲目录第...转载 2018-11-28 11:27:50 · 171 阅读 · 0 评论 -
内蒙古ACM暑假训练第一次题解(初级组)
题目列表:Problem A小姐姐的程序设计题Problem B小A的刷题训练Problem C小A折千纸鹤Problem D小A与小姐姐玩游戏Problem E小A赚取奖金Problem F小A与小姐姐给气球涂色Problem G小A的约会Problem A 小姐姐的程序设计题主要算法:暴力模拟 解题思路:四个for循环直接模拟即可. ...原创 2019-07-26 20:43:22 · 366 阅读 · 0 评论 -
A Big Forest
A Big Forest时间限制: 1 Sec内存限制: 128 MB提交: 34解决: 15[提交] [状态] [讨论版] [命题人:外部导入]题目描述XiaoMing recently plays the World of Warcraft game, you know, World of the Warcraft map is very big and now X...原创 2019-05-08 10:52:03 · 381 阅读 · 0 评论 -
钓鱼
题 B: 钓鱼时间限制: 1 Sec内存限制: 128 MB提交: 36解决: 12[提交] [状态] [讨论版] [命题人:外部导入]题目描述小A最近又新买了一幢别墅,里面有一个特别特别大的矩形水池,他买了很多很多鱼养在水池里。这样就可以每天都吃上水煮鱼或者酸菜鱼,以实现他最大腰围的目标!这天小A请全体ACM班的同学到他家吃饭,其实也是为了表演一下他高超的钓鱼技术!...原创 2019-04-20 10:52:08 · 336 阅读 · 0 评论 -
单源最短路劲(朴素dijkstra模板 + 邻接表实现 + 堆优化 +无向图+ 有向图)不定时更新
刚复习完floyd,开始复习dijkstra,大二那会学过一波不是很懂,dp做的多了发现真的就简单233,反正我只是一个会裸题的弱鸡不定时更新dijkstra的模板比如邻接表和堆优化的dijkstra,马上省赛了也不知道会不会出图论,希望出来我能秒ac233.对应的意思模板代码里我都注释了看代码就好。# include <iostream># include <nu...原创 2019-04-24 14:13:12 · 444 阅读 · 0 评论 -
跳棋
题目描述跳棋是我们很多人小时候喜爱的游戏,今天我们尝试改进一下这个游戏使得它更加有趣。我们设计一个一维的,由很多格子组成的游戏空间,每个格子按照顺序编号为w(1 ≤ w≤ 1,000,000)。我们在这个游戏空间中可以使用跳跃的方式进行运动,但是每次跳跃的格子数必须不大于s(1 ≤ s ≤ 6),我们的最终目标是用最短的时间从起点0到达终点T(每次跳跃耗时为1)。显然,描述至此,这个问题依然很...原创 2019-04-19 16:13:25 · 641 阅读 · 0 评论 -
多源最短路训练题解(floyd模板+ 无向图+ 有向图+10多道类型题解)
还有16天就要比省赛了,复习一波最短路首先是floyd的应用需要注明的一点第一个K是松弛了k个城市练习题解: HDU1596 HDU2112 HDU1874 HDU1869HDU2066 HDU2094 HDU2544稍加复杂:HDU1217 顺练习map离散 难度1.5HDU1245 处理起点,终点 ...原创 2019-04-24 11:22:02 · 4887 阅读 · 0 评论 -
逃离地牢
题目描述小明明又被大威鱼抓住了,大威鱼把小明明关在地牢里,地牢由n * n 个房间组成,小明被困在地牢的最左上角的房间中,出口在最右下角,他想逃出这个诡异的地牢,但是他只能向下或者向右走。小明每经过一个房间,都要受到一定的伤害(伤害都大于0),而且这个伤害可不是累加的哦,是累乘的,因此当他走出地牢的时候,他受到的伤害会非常大。但是小明有一个终极技能,能把受到的伤害X转变为金币,转化如下。i...原创 2019-04-18 17:07:36 · 399 阅读 · 0 评论 -
最大余数
题目描述菜鸟是个奇怪的人,他整天喜欢琢磨一些东西...某天,他在想:如果一个数k加上n次a而且乘上m次b,然后再对p取余,之后这个数最大会变成多少呢??因为今天菜鸟在忙于期末考试,所以现在请你来帮助解决一下这个问题(对这个数每次你可以选择加a或者乘b, 但是你总的必须要用n次加法和m次乘法)。输入多组测试数据,第一行有一个整数t(1<=t<=20)代表case数量,对于...原创 2019-04-18 12:58:56 · 1192 阅读 · 0 评论 -
Bellman-Ford的队列优化(无向图有向图)模板
# if 01# include <iostream># include <numeric># include <algorithm># include <functional># include <list># include <map># include <set># include <...原创 2019-04-26 21:13:18 · 546 阅读 · 0 评论 -
关于流同步的取消
std::ios::sync_with_stdio(false); 很多C++的初学者可能会被这个问题困扰,经常出现程序无故超时,最终发现问题处在cin和cout上,(甚至有些老oier也会被这个问题困扰,每次只能打scanf和printf,然后一堆的占位符巨麻烦),这是因为C++中,cin和cout要与stdio同步,中间会有一个缓冲,所以导致cin,cout语句输入输出缓慢,这时就可以用...原创 2019-04-22 12:40:43 · 3259 阅读 · 0 评论 -
优先队列自定义排序使用方法详解
优先队列:一般元素类型:priosity_queue<int>Q;(默认大顶堆)priosity_queue<int,vector<int>,greater<int>>Q;(小顶堆)结构体元素类型:struct node{ int x,y,z; friend bool operator <(const node &...原创 2019-04-22 12:38:02 · 1471 阅读 · 2 评论 -
反恐精英
反恐精英时间限制: 3 Sec内存限制: 128 MB提交: 107解决: 28[提交] [状态] [讨论版] [命题人:外部导入]题目描述反恐精英是一款流行的射击游戏。游戏中有两方势力:恐怖分子方和反恐精英方。你所扮演的是反恐精英,需要制服所有恐怖分子,并且拆除c4炸弹。为了简化问题,假设所有恐怖分子已经被制服。剩下要做的,是在给定t(t<=1000)时间内...原创 2019-04-21 21:48:11 · 718 阅读 · 0 评论 -
P1020导弹拦截
题目描述某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭。由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹。输入导弹依次飞来的高度(雷达给出的高度数据是\le 50000≤50000的正整数),计算这套系统最多能拦截多少导弹...原创 2019-03-18 14:11:42 · 623 阅读 · 0 评论 -
天梯赛选拔赛(一)题解
最后一位时间限制: 1 Sec内存限制: 128 MB提交: 226解决: 30[提交] [状态] [讨论版] [命题人:*Administrator]题目描述 2018年内蒙古自治区大学生程序设计竞赛的冠军选手——李彪,遇到了一个困难的编程问题。他现在手里有N个正整数,他以N作为基数,然后依次对手里的N个数进行如下操作:如果当前遇见的数是偶数就用之前的基数乘以它,如果当前遇见...原创 2019-03-10 16:30:06 · 1165 阅读 · 0 评论 -
假期集训练手赛题解
关于练习赛:这次练习赛出的比较基础,比较难一点的就是L-U但是也不是很难就是简单的模拟和排序,基本就是L1 10-20分难度左右,所以题解也是出L-U的题解.L题:算的时候先算俩圈总共720然后顺时针或者逆时针找最小度数到第一个数,然后逆时针转,如果能找到第二或者第三个数就+360不能的在多转度数。# include <iostream># includ...原创 2019-03-10 16:29:29 · 213 阅读 · 0 评论 -
假期第一次集训题解
这次集训主要是对于基本逻辑还有基本算法的训练,基本算法就是对于并查集,深度优先搜索,广度优先搜索一些理解与应用,选的题都是比较适合入门的题,比较简单。A:一道几何题,我没有做,放下题解代码。#include<iostream>#include<cstdio>#include<cstring>#include<algori...原创 2019-03-10 16:28:23 · 207 阅读 · 0 评论 -
穿过街道(递推+记忆化搜索俩种写法)
穿过街道Problem:20Time Limit:1000msMemory Limit:65536KDescription一个城市的街道布局如下:从最左下方走到最右上方,每次只能往上或往右走,一共有多少种走法? Input输入很多行行数,每行1个数字代表n的值,当n=0时结束(2<=n<=15)Output输出对应每行n值的走法.Samp...原创 2018-10-30 15:41:07 · 379 阅读 · 0 评论 -
机器人(nefu 219)
机器人Problem:219Time Limit:1000msMemory Limit:65536KDescription公司所能提供的机器人,可以用来捡体育活动和音乐会的垃圾。在一个矩形区域内,机器人从左上角出发,每次只能沿着现在位置的下方和右方移动,在移动过程中收拾垃圾,一直到区域的右下角,现在给出所有垃圾的位置。一旦一个机器人到达目的地右下角不能重新回收再利用。 因为你...原创 2018-10-30 14:58:56 · 188 阅读 · 0 评论 -
寒假作业(贪心)
nefu218Time Limit:1000msMemory Limit:65536KDescription小明玩了将近整个寒假,马上就要开学了,现在他有很多寒假作业要做。每一位老师给了他一个交作业的期限。如果在截止日期后交作业,老师就会减少他的期末考试成绩。而现在我们假设每科作业总是做一天。小明让你来帮他安排做作业的计划减少的得分达到最小。Input输入包含多组测试用...原创 2018-10-29 16:02:21 · 1038 阅读 · 0 评论 -
ACM数据生成方法
//输出数据 a+b;#include <iostream>using namespace std;int main(){ freopen("a.in","r",stdin);//设置 cin scanf 这些输入流都从 a.in中读取 freopen("a.out","w",stdout);//设置 cout printf 这些输出流都输出到...原创 2018-07-28 22:23:48 · 454 阅读 · 0 评论 -
Travel Cost(迪杰斯特拉)
DescriptionAC country is a famous and beautiful place. There are N cities in the country, numbered as 1,2,3...N。The first city is the capital of AC, so it is the greatest and best place all over the ...原创 2018-05-23 17:56:23 · 828 阅读 · 0 评论 -
舒适的路(并查集 + 枚举)
最舒适的路Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 15 Solved: 8[Submit][Status][Web Board]Description中国有许多大城市,城市之间通过高速铁路进行交流,每条高铁都对行驶在上面的特快列车限制了固定的速度值,同时中国人对特快列车的“舒适度”有很特殊的要求,即乘坐过程中最高速度与最低速度的差越小乘坐越...原创 2018-05-08 16:42:42 · 246 阅读 · 0 评论