ACM
算法思维
楚歌汉水
这个作者很懒,什么都没留下…
展开
-
P - 最少拦截系统
某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能超过前一发的高度.某天,雷达捕捉到敌国的导弹来袭.由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹.怎么办呢?多搞几套系统呗!你说说倒蛮容易,成本呢?成本是个大问题啊.所以俺就到这里来求救了,请帮助计算一下最少需要多少套拦截系统...原创 2021-06-28 17:42:27 · 55 阅读 · 0 评论 -
贪心定义的理解
贪心算法是在对问题求解时,总是做出在当前看来是最好的选择。选择贪心策略,必须具备两点 1. 保证局部最优 2. 无后效性解题的一般步骤是: 1. 建立数学模型来描述问题 2.把求解的问题分成若干个子问题 3.对每一个子问题的求解,得到子问题的局部最优解 4.把子问题的局部最优解合成原来问题的一个解。...原创 2021-06-28 17:41:51 · 115 阅读 · 0 评论 -
出国--概率dp
题目大意:Speakless很早就想出国,现在他已经考完了所有需要的考试,准备了所有要准备的材料,于是,便需要去申请学校了。要申请国外的任何大学,你都要交纳一定的申请费用,这可是很惊人的。Speakless没有多少钱,总共只攒了n万美元。他将在m个学校中选择若干的(当然要在他的经济承受范围内)。每个学校都有不同的申请费用a(万美元),并且Speakless估计了他得到这个学校offer的可能性b...原创 2021-06-28 17:40:57 · 107 阅读 · 0 评论 -
P1091 合唱队形--dp
题目描述NN位同学站成一排,音乐老师要请其中的(N-KN−K)位同学出列,使得剩下的KK位同学排成合唱队形。合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2,…,K1,2,…,K,他们的身高分别为T_1,T_2,…,T_KT1,T2,…,TK, 则他们的身高满足T_1<...<T_i>T_{i+1}>…>T_K(1 \le i \le K)...原创 2021-06-28 17:40:28 · 82 阅读 · 0 评论 -
最短路--五种表示方法
至于什么是最短路,就不再赘述了,直接上算法1.Bellman-Ford 101112131415161718192021222324252627282930 /*Bellman-Ford算法: 1.单源最短路 2.不存在负圈,更新操作有限 3.如果存在从s可达的负圈,那么在第n次循环中也会 更新d的值 *...原创 2021-06-28 17:39:58 · 214 阅读 · 0 评论 -
C - Oil Deposits
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 th...原创 2018-08-01 15:31:15 · 298 阅读 · 0 评论 -
判断一个字符串是否是另一个字符串的子串
已知两个字符串A,B,判断B是否是A 的子串 1 2 3 4 5 6 7 8 9101112131415161718192021222324252627 #include <bits/stdc++.h>using namespace std;bool judge(const string ...原创 2018-08-01 14:56:59 · 17726 阅读 · 2 评论 -
暑假第二次积分
问题 A: 又是斐波那契数列??时间限制: 1 Sec 内存限制: 128 MB 题目描述 大家都知道斐波那契数列吧?斐波那契数列的定义是这样的: f0 = 0; f1 = 1; fi = fi-1 + fi-2现在给你一个数x,聪明的你一定知道这是斐波那契数列中的第几项。(数据保证x一定有对应的项y,且 0 <= y < 1e4) 输入第一行一个整...原创 2018-07-30 17:56:29 · 306 阅读 · 0 评论 -
计算凸包的周长与面积
先求凸包的顶点,再叉积求面积,两点间的距离公式求周长 1 2 3 4 5 6 7 8 910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455...原创 2018-07-27 15:44:56 · 2688 阅读 · 0 评论 -
暑假第一次积分赛
A 辞树的QAQ水题题目描述 蒟蒻的辞树又被吊打了嘤嘤嘤。留下了属于弱者的眼泪QAQAQAQAQAAQAAQA······ 现在我 们定义辞树的悲伤值 F 。F的值为主串中子序列为”QAQ”的个数。注意字母“QAQ”不一定是 连续的,但是字母的顺序应该是准确的。输入 输入一个整数T(0 ≤ T ≤ 20),代表有T组数据。每组数据会给出一个字符串S,长度为len,0 < len ≤ 10...原创 2018-07-25 23:28:48 · 213 阅读 · 0 评论 -
判断字符是否为字母,数字,小写字母,大写字母,大小写转化的函数
1.判断是否是字母isalpha(),若是返回true,否则返回false2.判断是否是数字isdigit(),若是返回true,否则返回false3.判断是否是大写字母isupper(), 若是返回true,否则返回false;4.判断是否是小写字母islower(),若是返回true,否则返回false;5.大写转化为小写字母tolower()6.小写...原创 2018-11-25 17:28:54 · 7657 阅读 · 1 评论 -
函数返回值-数组
做过很多与函数返回值为数组的题,一开始无从下手,现在看看懂了一些,在次写下1.分配存储空间 1 2 3 4 5 6 7 8 910111213141516171819202122232425262728 #include<bits/stdc++.h>using namespace std;...原创 2018-10-17 22:33:32 · 3553 阅读 · 0 评论 -
P1754 球迷购票问题--dp组合问题
题目背景盛况空前的足球赛即将举行。球赛门票售票处排起了球迷购票长龙。按售票处规定,每位购票者限购一张门票,且每张票售价为50元。在排成长龙的球迷中有N个人手持面值50元的钱币,另有N个人手持面值100元的钱币。假设售票处在开始售票时没有零钱。试问这2N个球迷有多少种排队方式可使售票处不致出现找不出钱的尴尬局面。题目描述例如当n=2是,用A表示手持50元面值的球迷,用B表示手持100...原创 2018-09-28 17:56:37 · 217 阅读 · 0 评论 -
P1281 书的复制--二分
题目背景大多数人的错误原因:尽可能让前面的人少抄写,如果前几个人可以不写则不写,对应的人输出0 0。不过,已经修改数据,保证每个人都有活可干。题目描述现在要把m本有顺序的书分给k给人复制(抄写),每一个人的抄写速度都一样,一本书不允许给两个(或以上)的人抄写,分给每一个人的书,必须是连续的,比如不能把第一、第三、第四本书给同一个人抄写。现在请你设计一种方案,使得复制时间最短。复...原创 2018-09-16 20:55:16 · 259 阅读 · 0 评论 -
找零钱问题
假如老板要找给我99分钱,他有上面的面值分别为25,10,5,1的硬币数,为了找给我最少的硬币数,那么他是不是该这样找呢,先看看该找多少个25分的,诶99/25=3,好像是3个,要是4个的话,我们还得再给老板一个1分的,我不干,那么老板只能给我3个25分的拉,由于还少给我24,所以还得给我2个10分的和4个1分。 1 2 3 4 5 6 7 8 910111...原创 2018-08-31 16:25:10 · 423 阅读 · 0 评论 -
活动安排问题--区间贪心
设有n个活动的集合e={1,2,…,n},其中每个活动都要求使用同一资源,如演讲会场等,而在同一时间内只有一个活动能使用这一资源。每个活动i都有一个要求使用该资源的起始时间si和一个结束时间fi,且si< fi。如果选择了活动i,则它在半开时间区间[si,fi]内占用资源。若区间[si,fi]与区间[sj,fj]不相交,则称活动i与活动j是相容的。也就是说,当si≥fi或sj≥fj时,活动i...原创 2018-08-31 13:28:35 · 2437 阅读 · 0 评论 -
1048 石子归并--区间dp
题目描述 Description有n堆石子排成一列,每堆石子有一个重量w[i], 每次合并可以合并相邻的两堆石子,一次合并的代价为两堆石子的重量和w[i]+w[i+1]。问安排怎样的合并顺序,能够使得总合并代价达到最小。输入描述 Input Description第一行一个整数n(n<=100)第二行n个整数w1,w2...wn (wi <= 100)输出描述 O...原创 2018-08-27 17:35:51 · 152 阅读 · 0 评论 -
数的划分
题目描述 Description将整数n分成k份,且每份不能为空,任意两种划分方案不能相同(不考虑顺序)。例如:n=7,k=3,下面三种划分方案被认为是相同的。1 1 51 5 15 1 1问有多少种不同的分法。输入描述 Input Description输入:n,k (6<n<=200,2<=k<=6)输出描述 Output Descript...原创 2018-08-25 17:42:46 · 308 阅读 · 0 评论 -
D - Dungeon Master
[NWUACM] 你被困在一个三维的空间中,现在要寻找最短路径逃生!空间由立方体单位构成你每次向上下前后左右移动一个单位需要一分钟你不能对角线移动并且四周封闭是否存在逃出生天的可能性?如果存在,则需要多少时间?Input - 输入 输入第一行是一个数表示空间的数量。 每个空间的描述的第一行为L,R和C(皆不超过30)。 L表示空间的高度。 R和C分别表示每层空间的行...原创 2018-08-25 12:36:32 · 146 阅读 · 0 评论 -
C - Catch That Cow
农夫知道一头牛的位置,想要抓住它。农夫和牛都于数轴上 ,农夫起始位于点 N(0<=N<=100000) ,牛位于点 K(0<=K<=100000) 。农夫有两种移动方式: 1、从 X移动到 X-1或X+1 ,每次移动花费一分钟 2、从 X移动到 2*X ,每次移动花费一分钟 假设牛没有意识到农夫的行动,站在原地不。最少要花多少时间才能抓住牛?Input一行: 以空格...原创 2018-08-25 12:34:48 · 192 阅读 · 0 评论 -
A - Rescue
Angel was caught by the MOLIGPY! He was put in prison by Moligpy. The prison is described as a N * M (N, M <= 200) matrix. There are WALLs, ROADs, and GUARDs in the prison. Angel's friends want to...原创 2018-08-25 12:30:37 · 380 阅读 · 0 评论 -
P1341 无序字母对--欧拉回路
题目描述给定n个各不相同的无序字母对(区分大小写,无序即字母对中的两个字母可以位置颠倒)。请构造一个有n+1个字母的字符串使得每个字母对都在这个字符串中出现。输入输出格式输入格式: 第一行输入一个正整数n。以下n行每行两个字母,表示这两个字母需要相邻。 输出格式: 输出满足要求的字符串。如果没有满足要求的字符串,请输出“No Solution”。如果...原创 2018-08-25 10:29:20 · 167 阅读 · 0 评论 -
O - Super Jumping! Jumping! Jumping!
Nowadays, a kind of chess game called “Super Jumping! Jumping! Jumping!” is very popular in HDU. Maybe you are a good boy, and know little about this game, so I introduce it to you now. The game ...原创 2018-08-24 14:31:44 · 118 阅读 · 0 评论 -
N - Common Subsequence--LCS
A subsequence of a given sequence is the given sequence with some elements (possible none) left out. Given a sequence X = < x1, x2, ..., xm > another sequence Z = < z1, z2, ..., zk > is a ...原创 2018-08-24 14:25:21 · 254 阅读 · 0 评论 -
D - 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活--多重背包
急!灾区的食物依然短缺! 为了挽救灾区同胞的生命,心系灾区同胞的CK准备自己采购一些粮食支援灾区,现在假设CK一共有资金n元,而市场有m种大米,每种大米都是袋装产品,其价格不等,并且只能整袋购买。 请问:CK能用有限的资金最多能采购多少公斤粮食呢? Input输入数据首先包含一个正整数C,表示有C组测试用例,每组测试用例的第一行是两个整数n和m(1<=n<=100, 1&l...原创 2018-08-24 11:32:43 · 125 阅读 · 0 评论 -
C - 饭卡--01背包
电子科大本部食堂的饭卡有一种很诡异的设计,即在购买之前判断余额。如果购买一个商品之前,卡上的剩余金额大于或等于5元,就一定可以购买成功(即使购买后卡上余额为负),否则无法购买(即使金额足够)。所以大家都希望尽量使卡上的余额最少。 某天,食堂中有n种菜出售,每种菜可购买一次。已知每种菜的价格以及卡上的余额,问最少可使卡上的余额为多少。 Input多组数据。对于每组数据: 第一行为正整数n...原创 2018-08-24 11:24:22 · 105 阅读 · 0 评论 -
Bone Collector--01背包
涂奥最近迷上了吃鸡,房间有n个配件,每个配件有c(c<=1e3)的重量和v(v<=1e3)的价值,哇,涂奥捡了一个2级包,容量为s,所以涂奥最多当多肥的快递员呢?Input输入的第一行是T, 表示有一共要打T场比赛.每组数据由三行组成.第1行包含两个整数n和s 第2行包含n个整数, 表示每一个配件的价值. 第3行包含n个整数, 表示每个配件的重量.Output对...原创 2018-08-24 11:08:23 · 150 阅读 · 0 评论 -
A - FatMouse' Trade--部分背包
肥鼠准备了 M 磅的猫粮,准备和看管仓库的猫交易,仓库里装有他最喜爱的食物 Java 豆。仓库有 N 个房间。第 i 间房包含了 J[i] 磅的 Java 豆,需要 F[i] 磅的猫粮。肥鼠不必为了房间中的所有 Java 豆而交易,相反,他可以支付 F[i] * a% 磅的猫粮去交换得到 J[i] * a% 磅的 Java 豆。这里,a 表示一个实数。现在他将这项任务分配给了你:请告诉他,...原创 2018-08-24 11:04:06 · 172 阅读 · 0 评论 -
F - 畅通工程再续
相信大家都听说一个“百岛湖”的地方吧,百岛湖的居民生活在不同的小岛中,当他们想去其他的小岛时都要通过划小船来实现。现在政府决定大力发展百岛湖,发展首先要解决的问题当然是交通问题,政府决定实现百岛湖的全畅通!经过考察小组RPRush对百岛湖的情况充分了解后,决定在符合条件的小岛间建上桥,所谓符合条件,就是2个小岛之间的距离不能小于10米,也不能大于1000米。当然,为了节省资金,只要求实现任意2个小...原创 2018-08-24 10:53:06 · 147 阅读 · 0 评论 -
D - 还是畅通工程--最小生成树
某省调查乡村交通状况,得到的统计表中列出了任意两村庄间的距离。省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可),并要求铺设的公路总长度为最小。请计算最小的公路总长度。 Input测试输入包含若干测试用例。每个测试用例的第1行给出村庄数目N ( < 100 );随后的N(N-1)/2行对应村庄间的距离,每行给出一对...原创 2018-08-24 10:27:59 · 144 阅读 · 0 评论 -
B - 畅通工程--并查集
某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇。省政府“畅通工程”的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要互相间接通过道路可达即可)。问最少还需要建设多少条道路? Input测试输入包含若干测试用例。每个测试用例的第1行给出两个正整数,分别是城镇数目N ( < 1000 )和道路数目M;随后的M行对应M条道路,每行给出...原创 2018-08-24 10:18:37 · 181 阅读 · 0 评论 -
A - The Suspects--并查集
Severe acute respiratory syndrome (SARS), an atypical pneumonia of unknown aetiology, was recognized as a global threat in mid-March 2003. To minimize transmission to others, the best strategy is to s...原创 2018-08-24 10:15:33 · 188 阅读 · 0 评论 -
封锁阳光大学--图论
曹是一只爱刷街的老曹,暑假期间,他每天都欢快地在阳光大学的校园里刷街。河蟹看到欢快的曹,感到不爽。河蟹决定封锁阳光大学,不让曹刷街。阳光大学的校园是一张由N个点构成的无向图,N个点之间由M条道路连接。每只河蟹可以对一个点进行封锁,当某个点被封锁后,与这个点相连的道路就被封锁了,曹就无法在与这些道路上刷街了。非常悲剧的一点是,河蟹是一种不和谐的生物,当两只河蟹封锁了相邻的两个点时,他们会发生冲突...原创 2018-08-23 17:01:21 · 334 阅读 · 0 评论 -
快速幂
给出3个正整数A B C,求A^B Mod C。例如,3 5 8,3^5 Mod 8 = 3。Input3个正整数A B C,中间用空格分隔。(1 <= A,B,C <= 10^9)Output输出计算结果Sample Input3 5 8Sample Output3#include<bits/stdc++.h>using n...原创 2018-08-23 09:52:53 · 103 阅读 · 0 评论 -
质数检测
给出N个正整数,检测每个数是否为质数。如果是,输出"Yes",否则输出"No"。Input第1行:一个数N,表示正整数的数量。(1 <= N <= 1000) 第2 - N + 1行:每行1个数(2 <= Sii <= 10^9)Output输出共N行,每行为 Yes 或 No。Sample Input523456Sample O...原创 2018-08-23 09:47:39 · 210 阅读 · 0 评论 -
最大公约数和最小公倍数
输入2个正整数A,B,求A与B的最大公约数。Input2个数A,B,中间用空格隔开。(1<= A,B <= 10^9)Output输出A与B的最大公约数。Sample Input30 105Sample Output15 1 2 3 4 5 6 7 8 9101112131415 ...原创 2018-08-23 09:30:53 · 190 阅读 · 0 评论 -
奇怪的电梯--bfs和dfs
呵呵,有一天我做了一个梦,梦见了一种很奇怪的电梯。大楼的每一层楼都可以停电梯,而且第 ii 层楼 (1 \le i \le N)(1≤i≤N) 上有一个数字 K_i(0 \le K_i \le N)Ki(0≤Ki≤N) 。电梯只有四个按钮:开,关,上,下。上下的层数等于当前楼层上的那个数字。当然,如果不能满足要求,相应的按钮就会失灵。例如: 3, 3 ,1 ,2 ,53,3,1,2,5 代表了...原创 2018-08-10 17:15:15 · 1441 阅读 · 0 评论 -
偷窃--概率dp
可怜的POIUYTREWQ最近想买下dota2的商品,但是手头缺钱。他想起了之前看过的一部大片,觉得抢银行也许是个不错的选择。他认为,坏人被抓是因为没有预先规划。于是他在之前的几个月对各大银行进行了一次评估; 评估内容包括安全性和可盗窃金额: 他想知道在在某个风险系数下可以偷窃的最大金额 Input第一行给出了一个整数T, 表示有T组测试数据. 对于每一组数据,第一行给出了一个浮点数P, ...原创 2018-08-08 21:19:55 · 431 阅读 · 3 评论 -
01背包和完全背包一维数组遍历区别
我们先来讨论 01背包 先看一下二维数组的遍历 f[i][j] 表示前i件物品,在容量不超过j的情况下的最大权值 n 表示种类, t 表示 容量 w[MAXN]表示重量,v[MAXN]表示价值 ...原创 2018-08-08 11:20:07 · 1237 阅读 · 0 评论 -
J - Labyrinth 树的直径的应用
The northern part of the Pyramid contains a very large and complicated labyrinth. The labyrinth is divided into square blocks, each of them either filled by rock, or free. There is also a little hook ...原创 2018-08-04 19:23:58 · 222 阅读 · 0 评论