ACM
文章平均质量分 51
德峎
这个作者很懒,什么都没留下…
展开
-
算法模板集合(动态规划+图论+数学)
本文内含大量算法模板,兼容ACM参赛选手和想学算法的程序猿们(内容不包含生发剂)。原创 2022-03-13 11:09:14 · 911 阅读 · 0 评论 -
第四届“传智杯”全国大学生IT技能大赛(决赛B组)
第四届“传智杯”全国大学生IT技能大赛(决赛B组)A. 小智的疑惑B. 三元组C. 排排队D. 背单词的小智E. 游戏F1. 生活在树上(easy version)A. 小智的疑惑题目描述传智专修学院给了小智一个仅包含小写字母的字符串 s,他想知道,里面出现了多少次子串 chuanzhi 呢。我们称一个字符串 t 是 s 的子串,当且仅当将 s 的开头若干个(可以为 0 个)连续字符和结尾若干个(可以为 0 个)连续字符删去后,剩下的字符串和 t 相同。例如,我们称 ab 是 abc 的子串,但 a原创 2022-03-12 20:02:52 · 10365 阅读 · 4 评论 -
POJ 3265 Problem Solving--线性dp
In easier times, Farmer John’s cows had no problems. These days, though, they have problems, lots of problems; they have P (1 ≤ P ≤ 300) problems, to be exact. They have quit providing milk and have taken regular jobs like all other good citizens. In fact.原创 2021-07-03 11:04:01 · 178 阅读 · 0 评论 -
HDU 2844 多重背包问题(易懂+详解)
Coins天阶夜色凉如水,卧看牵牛织女星。七夕节到了,LFgg准备送给NPY一个礼物。但是,LFgg是个完美主义强迫症,他不能忍受在购买礼物时别人给他找钱。LFgg拥有许多不同面值的纸币各若干张,他希望你能编写一个程序,看看他在1到m的范围内,可以支付多少种价格。Input输入包含多组样例。每组样例的第一行包含两个正整数n(1 ≤ n ≤ 100),m(m ≤ 100000)。第二行包含2n个整数A1,A2,A3….An,C1,C2,C3….Cn(1 ≤ Ai ≤ 100000,1 ≤ C原创 2021-05-10 20:56:37 · 464 阅读 · 2 评论 -
HDU 2546 饭卡
电子科大本部食堂的饭卡有一种很诡异的设计,即在购买之前判断余额。如果购买一个商品之前,卡上的剩余金额大于或等于5元,就一定可以购买成功(即使购买后卡上余额为负),否则无法购买(即使金额足够)。所以大家都希望尽量使卡上的余额最少。某天,食堂中有n种菜出售,每种菜可购买一次。已知每种菜的价格以及卡上的余额,问最少可使卡上的余额为多少。Input多组数据。对于每组数据:第一行为正整数n,表示菜的数量。n<=1000。第二行包括n个正整数,表示每种菜的价格。价格不超过50。第三行包括一个正整数m,原创 2021-05-10 20:15:16 · 101 阅读 · 0 评论 -
动态规划(dp) 入门
动态规划入门题目**A - 骨牌铺方格****B - The Triangle****C - 母牛的故事**动态规划的特点是无后效性,也就是每一次的选择都是在上一次选择的最优上面进行的。A - 骨牌铺方格在2×n的一个长方形方格中,用一个1× 2的骨牌铺满方格,输入n ,输出铺放方案的总数.例如n=3时,为2× 3方格,骨牌的铺放方案有三种,如下图:Input输入数据由多行组成,每行包含一个整数n,表示该测试实例的长方形方格的规格是2×n (0<n<=50)。Output对于每原创 2021-05-04 10:50:30 · 276 阅读 · 1 评论 -
牛客网-C 消减整数
链接:https://ac.nowcoder.com/acm/contest/11163/C来源:牛客网题目描述给出一个正整数H,从1开始减,第一次必须减1,每次减的数字都必须和上一次相同或者是上一次的两倍,请问最少需要几次能把H恰好减到0。输入描述:第一行给出一个正整数T,1≤T≤10^4接下来T行每行一个H,1≤H≤10^9输出描述:每行一个正整数代表最少的次数示例1输入3357输出233解题思路: 从1开始减(设i为1),后面只能减i或者2i,也就是说只能减2原创 2021-03-20 23:45:56 · 201 阅读 · 0 评论 -
POJ 3894 迷宫问题
定义一个二维数组:int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0,};它表示一个迷宫,其中的1表示墙壁,0表示可以走的路,只能横着走或竖着走,不能斜着走,要求编程序找出从左上角到右下角的最短路线。Input一个5 × 5的二维数组,表示一个迷宫。数据保证有唯一解。Output左上角到右下角的最短路径,格式如样例所示。Sample I原创 2021-01-24 23:59:13 · 167 阅读 · 0 评论 -
Codeforces Round #696 (Div. 2) B. Different Divisors
题目链接: https://codeforces.com/contest/1474/problem/B题目意思: 给入t个测试,每个测试给一个间隔n。求有没有一个数字,能满足至少四个公因数,并且每个公因数间隔不小于n。解题思路: 曾想过直接输出(1+n) * (1+2*n),但是不行。(例如:n为3,28的公因数有1、2、4、7、28,但是1到2的间隔只有1。答案是55:1、5、11、55)。结论: 只有素数相乘的间隔才能确保大于n。我们需要从1+n开始搜索素数,用搜到的素数+n(确保间隔)搜索下原创 2021-01-21 23:10:08 · 100 阅读 · 1 评论 -
Codeforces Round #696 (Div. 2) A. Puzzle From the Future
题目链接:https://codeforces.com/contest/1474/problem/A解题思路:第一个数字为1(因为最大为2)确保为最大值,last记录上一个数字,如果下一个数字+1等于前一个数字,那就不+1,选择+0,否则+1;#include<iostream>using namespace std;int main(){ long long int t,n,i,last; cin>>t; while(t--) { cin>>n;原创 2021-01-21 22:58:47 · 125 阅读 · 0 评论 -
ACM H-8 广度优先搜索(BFS)
最近在家上网课的zst由于把switch放在了寝室所以实在无聊透顶,便拉着str一起玩一款名叫《风来的西林》的游戏,在某次刷图的过程中,由于zst炸裂的欧气,一张地图中同时出现了数把螺旋风魔剑,但此剑需要zst和str两人合力才可取得。由于这款游戏是按时间付费的,所以两人需要尽快取得此剑(即为二人到达剑所在位置的时间之和最少),因此他们找到了机智的你来帮忙解决问题。Input多组数据读入到文件结束每组数据的第一行输入两个整数n, m(2 <= n, m <= 200),即迷宫大小为n*m原创 2021-01-21 01:24:17 · 233 阅读 · 1 评论 -
ACM F - 6 深度优先搜索(DFS)
背景描述dfh 同志负责探测战场的雷区。 dfh现在在一块矩形区域探测雷区。ta通过专业设备,来分析每个小块中是否埋藏地雷。如果这些埋藏地雷的小方格相邻(横向相邻,纵向相邻,还有对角相邻),那么他们被认为是同一雷区的一部分。在这块矩形区域,可能有很多雷区。ta的任务是确定有多少不同的雷区。你能帮他解决这个问题吗?输入输入可能有多个矩形区域(即可能有多组测试)。每个矩形区域的起始行包含m和n,表示行和列的数量,1<=n,m<=100,如果m =0表示输入的结束,接下来是n行,每行m个字符。每原创 2021-01-18 00:13:21 · 236 阅读 · 3 评论 -
牛客网 G-简单题的逆袭
链接:https://ac.nowcoder.com/acm/contest/10746/G来源:牛客网题目描述给定x,y,找出满足方程 xk≤y的最大的k输入描述:第一行一个 t,1≤t≤300代表测试数据的组数每组输入只有一行,包含两个整数 x,y0≤x,y≤10^18输出描述:每个测试数据在一行中输出一个整数k,若k不存在或者无限大,输出 “-1”示例1输入22 30 0输出1-1解题思路: 本人一开始用的是pow(x,k),让本来就是long long的原创 2021-01-17 23:22:32 · 180 阅读 · 0 评论 -
ACM G - 7 深度优先搜索(DFS)
这有一间铺满方形瓷砖的长方形客房。 每块瓷砖的颜色是红色或者黑色。 一个人站在一块黑色瓷砖上, 他可以从这块瓷砖移动到相邻(即,上下左右)的四块瓷砖中的一块。 但是他只能移动到黑色瓷砖上,而不能移动到红色瓷砖上。编写一个程序,通过重复上述动作来计算他可以达到的黑色瓷砖的数量。Input输入包含多组数据。 每组数据包含两个正整数W和H; H表示瓷砖的行数,W表示瓷砖的列数。 W和H不超过20。瓷砖的颜色用字符表示,如下所示。'.' - 黑色瓷砖'#' - 红色瓷砖'@' - 站在黑色瓷砖上的人原创 2021-01-16 18:33:36 · 182 阅读 · 5 评论 -
ACM B - 2
kn要去读书,一共n本书,标号为1-n,每本书的重量为wi.kn家没有书橱,只好将书一本放在一本上面组成一列,他现在想要读第x本书,他要这么做。1.举起在x上面的所有的书2.然后将x书从堆里面拿出来3.将x上面的书不改变顺序地放回去4.将x放到最上面他决定在m天内读书,在第j天,他会读第bj (1 ≤ bj ≤ n)本书. 他取出书的方式就如同上面说的那样。做了这样的计划之后,他突然发现作为一个一年级学生他举起想读的书上的书实在是太重了。所以他决定改变书堆的顺序(也就是初始的书是怎么原创 2021-01-16 18:22:59 · 159 阅读 · 0 评论 -
ACM A - 1
“直线世界”的新年正在到来!在这个世界中,有 n 个单元格,用从 1 到 n 的整数编号,成为一个 1 × n 的棋盘。人们生活在单元格中。然而,难以在不同单元格之间移动,因为逃离单元格具有难度。因此,小贝制作了一套在这些单元格之间移动的运输系统,来庆祝新年。首先,她考虑了 n - 1 个正整数 a1, a2, …, an - 1 。对于每个整数 i (其中 1 ≤ i ≤ n - 1),满足条件 1 ≤ ai ≤ n - i 。其次,他制作了 n - 1 个传送门,使用从 1 到 n - 1 的整数编号原创 2021-01-16 18:03:30 · 200 阅读 · 0 评论 -
计蒜客-A2260 活动安排
设有 n 个活动的集合 E={1,2,⋯n},其中每个活动都要求使用同一资源,如演讲会场等,而在同一时间内只有一个活动能使用这一资源。每个活动 i 都有一个要求使用该资源的起始时间 si 和一个结束时间 fi,且 si<fi。如果选择了活动 i,则它在时间区间 [si,fi) 内占用资源。若区间 [si,fi) 与区间 [sj,fj) 不相交,则称活动 i 与活动 j 是相容的。也就是说,当 fi≤sj 或 fj≤si时,活动 i 与活动 j 相容。选择出由互相兼容的活动组成的最大集合。输入原创 2020-12-27 21:37:38 · 495 阅读 · 1 评论 -
计蒜客-A1096 淘宝流量分配(动态规划)
在每年的淘宝“双十一”时,访问量都会暴涨,服务器的请求会被流量分配程序按照一定策略,分发给不同的进程去处理。有一类请求,有两个进程可以接受分发的请求,其中一个进程所在服务器的配置、网络传输性能等都要优于另一个进程。流量分发程序可以知道队列中每个任务的预计处理时间,每次都会尽可能将队列中预计处理时间更多的任务分配给性能更优的进程。假设队列当前一共有 n 个任务待分配,第 i 个任务的预计处理时间为 ai(1≤i≤n)。由于服务存在冷启动问题,越靠后的进程,预计处理时间越短。而队列中的 最后一个任务 因为比较原创 2020-12-25 15:20:26 · 282 阅读 · 0 评论 -
牛客网-CCA的数列
链接:https://ac.nowcoder.com/acm/contest/9700/A来源:牛客网题目描述给定一个长度为 n 数列,判断其是否为“牛”的,是则输出“YES”,否则输出“NO”。一个数列是“牛”的,当且仅当其满足以下三个条件中至少一个:1、这个数列是等差数列2、这个数列是等比数列3、这个数列是等模数列。等差数列和等比数列的定义如果不清楚建议百度或重上小学(划掉),等模数列的定义是:对于任意相邻两数,后一个对前一个取模后的值均相等。输入描述:第一行一个整数 n。第二行原创 2020-12-20 20:37:34 · 691 阅读 · 0 评论 -
计蒜客-A1947 An Olympian Math Problem
Alice, a student of grade 666, is thinking about an Olympian Math problem, but she feels so despair that she cries. And her classmate, Bob, has no idea about the problem. Thus he wants you to help him. The problem is:We denote k!:k!=1×2×⋯×(k−1)×kWe deno原创 2020-12-19 16:28:19 · 166 阅读 · 4 评论 -
D - The Same Calendar ACM
The girl Taylor has a beautiful calendar for the year y. In the calendar all days are given with their days of week: Monday, Tuesday, Wednesday, Thursday, Friday, Saturday and Sunday.The calendar is so beautiful that she wants to know what is the next yea原创 2020-12-18 23:35:03 · 136 阅读 · 1 评论 -
E - Joty and Chocolate ACM
Little Joty has got a task to do. She has a line of n tiles indexed from 1 to n. She has to paint them in a strange pattern.An unpainted tile should be painted Red if it’s index is divisible by a and an unpainted tile should be painted Blue if it’s index原创 2020-12-18 21:10:54 · 159 阅读 · 1 评论 -
A - Vanya and Food Processor ACM
Vanya smashes potato in a vertical food processor. At each moment of time the height of the potato in the processor doesn’t exceed h and the processor smashes k centimeters of potato each second. If there are less than k centimeters remaining, than during原创 2020-12-18 19:57:44 · 191 阅读 · 1 评论 -
计蒜客-A2011 Magic Mirror
Jessie has a magic mirror.Every morning she will ask the mirror: ‘Mirror mirror tell me, who is the most beautiful girl in the world?’ If the mirror says her name, she will praise the mirror: ‘Good guy!’, but if the mirror says the name of another person,原创 2020-12-17 23:48:22 · 222 阅读 · 0 评论 -
计蒜客-A1231 微软手机的信号显示
微软近日推出了一款功能极简的手机,在手机上用一个包含了 7×7个像素的区域来显示手机信号。满信号的时候显示如下:+-----+|- 4G||-- ||--- ||---- ||-----|+-----+每一格信号(第 i(1≤i≤5) 格信号有 i 个-)代表 20% 的信号强度,不足一格信号的部分不显示。同时会在右上角显示当前的网络传输模式。在信号强度不低于 90% 的时候显示4G;当信号低于 90%、不低于 60% 的时候显示3G;否则显示E。对于给定的当前信号强度 d%,输原创 2020-12-17 12:03:55 · 192 阅读 · 0 评论 -
计蒜客-A1217 商汤科技的安全令牌
商汤科技致力于引领人工智能核心“深度学习”技术突破,构建人工智能、大数据分析行业解决方案。作为一家人工智能公司,用机器自动地解决各类实际问题自然不在话下。近日,商汤科技推出了一套安全令牌。安全令牌上的小孔有 n 行 m 列,不过有些行和有些列已经用导线整体焊接了,共有 k 根导线。我们可以在安全令牌上 不重叠 地焊接若干个小芯片,每个芯片需要在相邻(不能斜着相邻,必须平行于行或列)的两个没有被焊接的小孔上固定。不能固定在已经被整体焊接的行或列上。安全令牌上最多可以放置多少个芯片,就代表了这个安全令牌对原创 2020-12-17 11:42:56 · 168 阅读 · 1 评论 -
计蒜客-A1612 God of Gamblers
When I was young , my father is a senior gaming enthusiast . One day , we saw a old man in the street . He had a dice and played with other people .Every turn the gambler gives k RMB to the old man and throw the dice . If the point is 1, 2 or 3,he will wi原创 2020-12-16 23:41:26 · 313 阅读 · 0 评论 -
计蒜客-A1530 Abiyoyo
“Abiyoyo, Abiyoyo.”“Abiyoyo, Abiyoyo.”“Abiyoyo, yo yoyo yo yoyo.”Once upon a time there was a little boy, who played a ukulele. He’d go around town: clink, clunk, CLONK! Of course, the grownups would be busy, and they would say: “Take that thing out of原创 2020-12-16 09:01:43 · 228 阅读 · 0 评论 -
计蒜客-A1062 矩阵计算
输入NxM矩阵,并求其中大于零的元素之和。input:多组测试用例,第一行为N M(N: 矩阵行数;M: 矩阵列数,且M,N<10)接下来的N行为矩阵各行output:多组计算结果样例输入3 32 3 4-5 -9 -70 8 -42 11-1样例输出171这题就把输入矩阵的大于0的数字加起来就好了。#include<iostream>using namespace std;int main(){ int x,y,i,j; while(ci原创 2020-12-13 22:15:37 · 301 阅读 · 0 评论 -
计蒜客-A1065 登录验证
有个软件系统登录的用户名和密码为(用户名:admin;密码:admin),用户输入用户名和密码,判断是否登录成功。Input:多组测试数据,每行有两个用空格分开的字符串,第一个为用户名,第二个位密码。Output:多组测试数据,每组输出一个字符串(“Login Success!”或“Login Fail!”)。样例输入admin loginadmin adminabc abc样例输出Login Fail!Login Success!Login Fail!这题需要注意char类型原创 2020-12-13 22:07:55 · 535 阅读 · 1 评论 -
计蒜客-A1053 翘课行动
自从上了大学,苏苏就学会了翘课= =!但是,他在翘课时还是有所选择的,某些课程,跪着也要听完啊。现在,给出某天的课程序列,用1表示一门重要的课程,用0表示一门不太重要的课程。苏苏总是按照如下规则来翘课:1.绝不敲重要课程,never!;2.在第一节重要课程之前的所有课全部敲掉;3.若有两节或两节以上的非重要课程相连,则这些非重要课程全部敲掉;4.最后一节重要课程之后的课全部敲掉;5.若当天没有重要课程,就敲掉全部课程。在这样一种先进翘课思想的指导下,苏苏每天能上多少节课呢?输入:首先输入正原创 2020-12-13 21:46:45 · 159 阅读 · 0 评论 -
计蒜客-A2019 Save the Room
Bob is a sorcerer. He lives in a cuboid room which has a length of A, a width of B and a height of C, so we represent it as A * B * C. One day, he finds that his room is filled with unknown dark energy. Bob wants to neutralize all the dark energy in his ro原创 2020-12-13 00:45:12 · 152 阅读 · 0 评论 -
J - 纪念品分组
元旦快到了,校学生会让乐乐负责新年晚会的纪念品发放工作。为使得参加晚会的同学所获得 的纪念品价值相对均衡,他要把购来的纪念品根据价格进行分组,但每组最多只能包括两件纪念品, 并且每组纪念品的价格之和不能超过一个给定的整数。为了保证在尽量短的时间内发完所有纪念品,乐乐希望分组的数目最少。你的任务是写一个程序,找出所有分组方案中分组数最少的一种,输出最少的分组数目。输入格式第 1行包括一个整数 w,为每组纪念品价格之和的上限。第 2行为一个整数 n,表示购来的纪念品的总件数。第 3∼n+2行每行包含一原创 2020-12-11 10:50:44 · 314 阅读 · 0 评论 -
计蒜客-A1249 Coconut
Coconut is Captain Gangplank’s favourite fruit. That is why he needs to drink coconut juice from b coconuts each day.On his next trip, he would pass through N citis.His trip would begin in the 1-st city and end in the N-th city.The journey from the i-th原创 2020-12-08 19:45:51 · 225 阅读 · 0 评论 -
B - Minimum Product ACM
这题的大概意思就是求最小值,输入a,b,x(a能变的最小值),y(b能变的最小值),n(能让a,b-1的次数),求n次用完以后a* b的最小值。因为是a* b所以一般来说让小的数变最小就是最优解,但是有x,y的限制不得不ab最小值都计算(可能是我太蠢),除了注意题目要求int会越界以外,还要注意修改的次数n,会不会大于a,x的区间和b,y的区间,如果大于的话就用x*y就是最小值(测试点2)。#include<iostream>using namespace std;int main(..原创 2020-12-08 11:25:14 · 126 阅读 · 0 评论 -
A - Yet Another Two Integers Problem ACM
You are given two integers a and b.In one move, you can choose some integer k from 1 to 10 and add it to a or subtract it from a. In other words, you choose an integer k∈[1;10] and perform a:=a+k or a:=a−k. You may use different values of k in different m原创 2020-12-06 22:39:14 · 162 阅读 · 0 评论 -
计蒜客-A1024 淘宝卖家评价体系
淘宝对所有卖家建立了一套基于数据挖掘的评价体系,使用交易数据、用户评价等对每个卖家的描述真实度、发货速度和服务态度这三个维度进行打分,分数均为可正可负的整数。由于打分总会存在一定偏差,淘宝的算法工程师们只能对每个维度给出一个边界均为整数的分值范围,这三个维度的分值范围在三维直角坐标系中构成了一个顶点坐标均为整数、所有棱均平行于坐标轴的长方体。类似二维坐标系中的象限,在三维坐标系中我们用卦限来区别三维空间中的不同区域,卦限的编号顺序如上图所示。请根据输入的长方体算出其在三维直角坐标系中 8 个卦限的体积分原创 2020-12-05 21:34:56 · 323 阅读 · 0 评论 -
A - 卡牌游戏 III ACM
蒜头君在玩一种卡牌游戏,他有 n 张卡牌,每张卡牌上写着两个正整数 ai,bi ,ai 表示这张卡牌的能量值,bi表示这张卡牌的魔法值。蒜头君要从这 n张卡牌中选出一些形成一个卡组,用这个卡组对敌人造成伤害。一个卡组对敌人的伤害是这个卡组中所有卡牌的能量值之和乘其中魔法值最小的一张卡牌的魔法值。蒜头君想知道他用一个卡组最多能对敌人产生多少伤害。输入格式第一行,一个正整数 n(1≤n≤10的5次方)。接下来 n行,每行两个正整数 ai,bi(1≤ai,bi≤10的6次方)输出格式输出一行,包含一原创 2020-12-05 20:30:56 · 769 阅读 · 0 评论 -
E - 完美的数组
一个数组被称为完美的,当且仅当其中存在一个元素,它的值是除了它之外剩下的所有元素的和。蒜头君现在获得了一个数组。他想去掉数组中的一个元素,使得这个数组变成完美的。他想知道这个数组有几种方案可以变成完美的。当去掉的元素在原数组中的位置不同时,即为不同的方案。输入格式输入的第一行包含一个整数 n(2≤n≤2×10的5次方)。输入的第二行包括 n个整数,为蒜头君获得的数组里面的每个元素ai(2≤ai≤10的6次方)。输出格式输出有两行。第一行是方案的个数 k。第二行有 k个用单个空格分开的整数,分原创 2020-12-05 15:36:42 · 1186 阅读 · 2 评论 -
A - Prefixes ACM
这题的输出方式有多种,我是选择了i和i+1作比较(一定有一个是单数,一个是双数),而题目要的输入都是双数,如果两者相同就变其中一个。最后附上代码。#include<stdio.h>int main(){ int n,sum=0; scanf("%d\n",&n); char a[n]; for(int i=0;i<n;i++) { scanf("%c",&a[i]); if(a[i]!='a'&&a[i]!='b')//确保里边都只.原创 2020-12-02 23:15:36 · 106 阅读 · 0 评论