
洛谷
洛谷平台算法
北海南风
这个作者很懒,什么都没留下…
展开
-
【洛谷】P1226 快速幂(java)
编程改变世界快速幂(ab):它基于二分法的思想,因此也常被称为二分幂,快速幂基于以下事实:如果b是奇数,那么有ab = a * ab -1如果b是偶数,那么有ab = a(b/2) * a(b/2)。显然,b是奇数的情况总是可以在下一步转换为b是偶数的情况,而b是偶数的情况总可在下一步转换为b/2的情况。这样,在 log(b) 级别次数的转换后,就可以把b变成0,而任何正整数的0次方都是1.所以时间复杂度为O(logb)代码如下:public static long bin(lo原创 2020-09-29 15:08:58 · 306 阅读 · 1 评论 -
【洛谷】P2699 小浩的幂次运算(数学1)
题目思路:(这应该是普及题里面很水的存在了)暴力判断,只不过有个小坑就是当sum*w的时候会溢出(long)的问题。所以我们要改进一下判断条件,从sum * w > r 变为 sum > r/w;代码如下:import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner input = new Scanner(System.in); .原创 2020-09-28 21:19:48 · 202 阅读 · 1 评论 -
【洛谷】P1002 过河卒 (java,100,动态规划)
可能是太久没做题了,没信心,起初看到这道题,差点就归为不会的类型放弃了。后面耐心的看,思考了会,好像不难,第一反应就是用递归(一条路走到黑的)思路做,输入测试样例,好像对了 信心满满的提交。import java.util.Scanner;public class Main { static long count = 0; static int bx; static int by; static int n; static int m; p...原创 2020-09-01 14:36:42 · 542 阅读 · 1 评论 -
【洛谷】P2015 k皇后 (java,100)
如果我们建一个二维数组【n】【m】的话,那么毫无疑问,空间超限,我原本思路就是这样 。改了好久,空间都过不去,后面放弃了原来的。换了另一种一维的方法。import java.util.Arrays;import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner input = new Scanner(System.in); int .原创 2020-08-21 08:58:30 · 227 阅读 · 1 评论 -
【洛谷】P1219 八皇后(java,DFS,100)
思路代码:import java.util.Scanner;public class Main { //定义一个max表示一共有多少个皇后。 Scanner input = new Scanner(System.in); int max = input.nextInt(); // 定义一个数组就可以了,下标为第i个皇后,即第i行。值为对应的第几列。 int[] array = new int[max]; // 统计一共有多少种方法,打印一次即cou..原创 2020-08-20 16:31:09 · 424 阅读 · 0 评论 -
【洛谷】P1706 全排列问题(java,递归 回溯)
可能,这道题用其他思路的话,可能更容易,只是这种思路一旦掌握了,那 就牛逼了 著名的八皇后问题也就解决了。import java.util.Scanner;public class Main { private static StringBuffer sc = new StringBuffer(); public static void main(String[] args) { Scanner input = new Scanner(System.in); .原创 2020-08-18 20:52:16 · 564 阅读 · 1 评论 -
【洛谷】P1165 日志分析(java满分,无时间超限)
题目描述M 海运公司最近要对旗下仓库的货物进出情况进行统计。目前他们所拥有的唯一记录就是一个记录集装箱进出情况的日志。该日志记录了两类操作:第一类操作为集装箱入库操作,以及该次入库的集装箱重量;第二类操作为集装箱的出库操作。这些记录都严格按时间顺序排列。集装箱入库和出库的规则为先进后出,即每次出库操作出库的集装箱为当前在仓库里所有集装箱中最晚入库的集装箱。出于分析目的,分析人员在日志中随机插入了若干第三类操作――查询操作。分析日志时,每遇到一次查询操作,都要报告出当前仓库中最大集装箱的重量。输原创 2020-08-13 15:59:38 · 767 阅读 · 1 评论 -
【洛谷】P1449 后缀表达式(java,栈)
题目描述所谓后缀表达式是指这样的一个表达式:式中不再引用括号,运算符号放在两个运算对象之后,所有计算按运算符号出现的顺序,严格地由左而右新进行(不用考虑运算符的优先级)。如:3*(5–2)+7对应的后缀表达式为:3.5.2.-*7.+@。’@’为表达式的结束符号。‘.’为操作数的结束符号。输入格式输入:后缀表达式输出格式输出:表达式的值输入输出样例输入 #13.5.2.-*7.+@输出 #116刚好看过这个算法的视频,底气就是不一样, 两次过思路:开辟一个栈,用来存放数据,遇到符原创 2020-08-13 09:49:40 · 466 阅读 · 1 评论 -
【洛谷】P2089 烤鸡(java,废物暴力法)
题目背景猪猪 Hanke 得到了一只鸡。题目描述猪猪 Hanke 特别喜欢吃烤鸡(本是同畜牲,相煎何太急!)Hanke 吃鸡很特别,为什么特别呢?因为他有 10 种配料(芥末、孜然等),每种配料可以放 1 到 3 克,任意烤鸡的美味程度为所有配料质量之和。现在, Hanke 想要知道,如果给你一个美味程度 n ,请输出这 10 种配料的所有搭配方案。输入格式一个正整数 n,表示美味程度。输出格式第一行,方案总数。第二行至结束,10个数,表示每种配料所放的质量,按字典序排列。如果没有符合要原创 2020-08-13 00:21:59 · 348 阅读 · 2 评论 -
【洛谷】P2021 faebdc玩扑克(java,反约瑟夫环)
题目描述zky有n个扑克牌,编号从1到n,zky把它排成一个序列,每次把最上方的扑克牌放在牌堆底,然后把下一张扑克牌拿出来输出,最终输出的序列恰好是从1到n,faebdc问你原序列是什么,因为faebdc神犇早已在O(1)的时间得出结果,如果你在1s内答不出来,faebdc会吃了你。输入格式一个数n,表示扑克数目(n<=1000000)输出格式n个数,表示扑克序列输入输出样例输入 #113输出 #17 1 12 2 8 3 11 4 9 5 13 6 10(这道题,我弄了好久好久原创 2020-08-13 00:16:28 · 559 阅读 · 1 评论 -
【洛谷】P1739 表达式括号匹配(java)
题目描述假设一个表达式有英文字母(小写)、运算符(+,—,*,/)和左右小(圆)括号构成,以“@”作为表达式的结束符。请编写一个程序检查表达式中的左右圆括号是否匹配,若匹配,则返回“YES”;否则返回“NO”。表达式长度小于255,左圆括号少于20个。输入格式一行:表达式输出格式一行:“YES” 或“NO”输入输出样例输入 #12*(x+y)/(1-x)@输出 #1YES输入 #2(25+x)(a(a+b+b)@输出 #2NO(用普通方法也行,毕竟这是道简单题,不过 还是感觉原创 2020-08-13 00:04:39 · 638 阅读 · 1 评论 -
【洛谷】P2084 进制转换(java)
题目描述今天小明学会了进制转换,比如(10101)2 ,那么它的十进制表示的式子就是 :124+0*23+122+0*21+1*2^0,那么请你编程实现,将一个M进制的数N转换成十进制表示的式子。注意:当系数为0时,该单项式要省略。输入格式两个数,M和N,中间用空格隔开。输出格式共一行,一个十进制表示的式子。输入输出样例输入 #12 10101输出 #112^ 4+12^ 2+1*2^0思路:输入用字符串承接,再依次取用.import java.util.Scanner;原创 2020-08-12 23:56:31 · 642 阅读 · 1 评论 -
【洛谷】P1114 “非常男女”计划(java)
题目描述近来,初一年的XXX小朋友致力于研究班上同学的配对问题(别想太多,仅是舞伴),通过各种推理和实验,他掌握了大量的实战经验。例如,据他观察,身高相近的人似乎比较合得来。万圣节来临之际,XXX准备在学校策划一次大型的“非常男女”配对活动。对于这次活动的参与者,XXX有自己独特的选择方式。他希望能选择男女人数相等且身高都很接近的一些人。这种选择方式实现起来很简单。他让学校的所有人按照身高排成一排,然后从中选出连续的若干个人,使得这些人中男女人数相等。为了使活动更热闹,XXX当然希望他能选出的人越多越好原创 2020-08-12 23:49:37 · 461 阅读 · 1 评论