ACM
就是ACM啦
Xiao菜瓜
这个作者很懒,什么都没留下…
展开
-
最大流DINIC算法JAVA板子
推荐一条博客:https://www.cnblogs.com/SYCstudio/p/7260613.html讲解得比较细致。然后自己理解了一下写了个JAVA得板子,和哪个差不多,去把HDU一道板子题A了:http://acm.hdu.edu.cn/showproblem.php?pid=3549之前写过一个EK算法,不过据说不常用:https://blog.csdn.ne...原创 2018-10-19 10:16:34 · 574 阅读 · 0 评论 -
Wannafly19 :A 队列Q
应该是这个学期最后打的一场比赛了,没想到这次题出的这么难,就过了这一道题。真是一年下来水平一直趋于稳定啊。这是A题的链接https://www.nowcoder.com/acm/contest/131/A。时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 262144K,其他语言524288K 64bit IO Format: %lld题目描述ZZT 创造了一个队列 Q。这个队列包含了...原创 2018-07-07 12:10:49 · 368 阅读 · 0 评论 -
几个排序算法(Java实现)
转自点击打开链接选择排序:背景介绍: 选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。 ----- 来自 wikipedia算法规则: 将待排序集合(0...n)看成两部分,在起始状态中,一...转载 2018-07-08 18:50:03 · 165 阅读 · 0 评论 -
codeforces-Reorder the Array
点击打开题目链接A. Reorder the Arraytime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputYou are given an array of integers. Vasya can permute (change order) i...原创 2018-07-14 12:04:04 · 361 阅读 · 0 评论 -
字符串匹配的KMP算法
本文转自:http://www.ruanyifeng.com/blog/2013/05/Knuth%E2%80%93Morris%E2%80%93Pratt_algorithm.html作者: 阮一峰日期: 2013年5月 1日字符串匹配是计算机的基本任务之一。举例来说,有一个字符串"BBC ABCDAB ABCDABCDABDE",我想知道,里面是否包含另一个字符串"ABCDAB...转载 2018-07-21 10:11:16 · 167 阅读 · 0 评论 -
HDU-3549
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3549这道题应该算是一道模板的最大流了吧,可是网上看了很多C++的最大流模板,理解起来有困难,又很少有JAVA的最大流模板,于是找了个简单点的自己写了下,然后过了。可能输入量有点大,Scanner输入是超时的,只能用io输入。import java.io.*;import java.ut...原创 2018-07-23 17:21:25 · 427 阅读 · 0 评论 -
数据结构-栈(JAVA)
栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。(百度百科) 栈能解决很多经典问题,比如括号配...原创 2018-07-25 11:38:07 · 320 阅读 · 0 评论 -
POJ-DINNIG
这道题真的很难想到是用最大流做得,主要是建图,大概就是这样:然后每条边得容量为1.然后牛和牛之间好像必须有对应得一条边,因为如果不这样的话,比如我们寻求增广路的时候,第一次选了f1、1号牛、d1,然后继续寻找可能就会找到f1、1号牛、d2。而如果加个牛和牛之间的边,恰好解决了这个问题,构思非常妙。下面是用ff板子做的:import java.util.*;public clas...原创 2018-07-27 12:12:31 · 212 阅读 · 0 评论 -
HPU多校题-A 又是斐波那契数列??
题目链接:http://pipakaca.com/problem.php?cid=1037&pid=0这道题对JAVA选手非常友好,JAVA里面有大数可以直接调用,而且也有写好的二分查找:import java.math.*;import java.util.*;public class Main { public static void main(String[] arg...原创 2018-07-29 15:50:01 · 270 阅读 · 0 评论 -
HPU多校-H:又是划分问题
题目链接:http://pipakaca.com/problem.php?cid=1037&pid=7这应该算是经典的DP问题吧:1:当n为奇数时,f(n)=f(n-1)2:当n为偶数时,f(n)=f(n-1)+f(n/2)(1)由于是用2的幂表示 则对于奇数n来说 一定是在偶数n-1的基础上每个方法上+1所以并不影响结果 (2)把偶数n拆分方法分为两大种 ...原创 2018-07-29 21:42:30 · 270 阅读 · 0 评论 -
HPU多校-J:台阶问题
题目链接:http://pipakaca.com/problem.php?cid=1037&pid=9这也是道经典的DP问题。其中如果每次可以走x个台阶,分两种情况1:i>x:dp[i]=dp[i-1]+dp[i-2]+...dp[i-x]2:i<=x:dp[i]=dp[i-1]+dp[i-2]+...dp[0]代码:import java.util....原创 2018-07-29 21:47:47 · 208 阅读 · 0 评论 -
hpu多校-K: 括号括号
题目链接:http://pipakaca.com/problem.php?cid=1037&pid=10这个也很简单,括号配对问题,用栈解决。不过这道题注意是eof输出:import java.util.*;public class Main { public static void main(String[] args){ Scanner sc=new Scanne...原创 2018-07-29 21:51:20 · 282 阅读 · 2 评论 -
Hpu赛题-A Math Problem
题目链接:http://8be0ed4d.ngrok.io/contest/1/problem/A这道题应该算是比较水的题吧,但是我害怕Scanner输入过不了,就用了缓冲,直接上代码:import java.io.*;import java.util.*;public class Main { static StreamTokenizer in = new StreamToken...原创 2018-08-05 18:38:52 · 254 阅读 · 0 评论 -
HPU-赛题C
题目链接:http://8be0ed4d.ngrok.io/contest/1/problem/C这道题需要稍微化简一下,变成这个形式: 然后轻易得出:当P/K最小时候,结果最小。然后可以枚举i,j用一个数组存储j之后可能p和k组合的最大p/k;import java.io.*;import java.util.*;public class Main { stati...原创 2018-08-05 18:46:17 · 207 阅读 · 0 评论 -
HPU赛题-D:Longest Increasing Subsequence
题目链接:http://8be0ed4d.ngrok.io/contest/1/problem/D这道题算是DP问题吧,当时不知道怎么就想出来了。用一个二维数组,dp[i][j]指的是到第i个字符升序为j的情况数。大概就会得出这么一个关系:代码如下:import java.io.*;import java.util.*;public class Main { sta...原创 2018-08-05 18:52:59 · 213 阅读 · 2 评论 -
2018百度之星-1001调查问卷
这道题读起来可能有点费劲,大概就是现在有一份m道题的调查问卷,然后让n个人做,现在要从这m道题中挑几道,使得剩下的题保证最少有k对人互相不一样。应该算是比较简单,比较水的题吧。我的思路就是用dfs枚举每一位,然后判断这一位是否合理。判断是否合理,可以用组合数学中的知识,复杂度为线性的:从n个人中选两个,然后减去从每种情况下选两个的情况枚举每一位情况的复杂度是2^m,判断的复杂度是n...原创 2018-08-06 08:48:02 · 325 阅读 · 2 评论 -
牛客练习赛24-A 石子阵列
题目链接:https://www.nowcoder.com/acm/contest/157#question这应该是比较水的题了吧,很简单。重m种石头中取n个,切相邻不同,那第一个有m种情况,以后都是m-1种情况。import java.util.*;public class Main { public static void main(String[] args) { Sca...原创 2018-08-11 07:59:45 · 216 阅读 · 0 评论 -
牛客练习赛24 -B凤 凰
题目链接:https://www.nowcoder.com/acm/contest/157/B这道题就很有意思了,这道题正面下手我们不好考虑,所以不妨从反面下手。1:我们假设现在有一棵n个节点的树,然后每秒从根节点过来一只鸟,那很明显,n秒后每个节点都会有一只鸟。2:但是这道题好像并不是根节点每秒只有一只鸟,但是根节点的子节点是刚好每秒有一只鸟路过。3:我们把根节点去掉,剩下几棵独...原创 2018-08-11 08:08:28 · 270 阅读 · 0 评论 -
牛客练习赛24-C PH试纸
题目链接:https://www.nowcoder.com/acm/contest/157/C这道题也是非常水的,只需要用一个数组记录位置就行了,不过要注意的一点是要判断这个答案是否存在,而且用JAVA的话,不仅要缓冲输入,也要缓冲输出import java.io.*;import java.util.*;public class Main { static StreamTok...原创 2018-08-11 08:11:01 · 191 阅读 · 0 评论 -
牛客练习赛24:E青蛙
这道题也是比较简单的最短路问题,不过好久没写最短路了,写起来有点生疏。注意,要把相邻节点还有隧道都建边:import java.io.*;import java.util.*;public class Main { static int inf=Integer.MAX_VALUE/2; static boolean used[]; static int dis[]; stat...原创 2018-08-11 08:13:06 · 228 阅读 · 0 评论 -
位运算符技巧
转自:https://blog.csdn.net/intmainhhh/article/details/81415568位运算加速技巧 1, 如果乘上一个2的倍数数值,可以改用左移运算(Left Shift) 加速 300%x = x * 2;x = x * 64;//改为:x = x << 1; // 2 = 21x = x << 6; // 64 =...转载 2018-08-11 09:08:42 · 190 阅读 · 2 评论 -
2018百度之星初赛:1003度度熊剪纸条
题目链接:http://bestcoder.hdu.edu.cn/contests/contest_showproblem.php?cid=825&pid=1003这道题真是挺(sang)不(xin)错(bing)的(kuang),我基本上这道题写了两个小时,wa了6次。精力都用过做这倒题了~~首先,举个例子:15 4111011001111001 1:我们先...原创 2018-08-11 18:07:20 · 782 阅读 · 7 评论 -
POJ-1273
这道题也是模板的网络流问题,但是要注意一点的是,这道题有重边,建边的时候要把重边加上就好了。这是我的JAVA代码:其中,这个板子我在https://blog.csdn.net/King8611/article/details/81171248有一些注释。import java.io.*;import java.util.*;public class Main { static ...原创 2018-08-15 11:16:52 · 269 阅读 · 2 评论 -
HDU 6438-Buy and Resell
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6438 其实这道题也不太难,就是一个有队列就过了。不过比赛时候脑残了,一直WA。事后不到10分钟就A了太伤心了。就是,每走到一个地方,如果这个地方价格大于最小值,就直接卖掉,不过这个地方的价格也要入队列,而且要加一个状态。就是这个可以用两次,而且第一次用的时候次数不用增加。代码...原创 2018-08-27 22:41:18 · 237 阅读 · 0 评论 -
ACM-ICPC 2018 南京赛区网络预赛 :C. GDY
题目链接:https://nanti.jisuanke.com/t/30992这道题其实并不是太难,只是个模拟,只不过读题太难了,真的是醉了,我朋友帮忙翻译了一下,大概意思:把m张牌(牌上数字范围是1-13)放到栈里n个人,每个人每次从栈顶取5张牌,轮流取取完牌后,第1个人出他手里最小的牌,然后2-n个人轮流出牌,每次出牌的选择是:(1)出比前一个人的牌大1的牌(2)在前一个牌...原创 2018-09-02 09:43:39 · 345 阅读 · 0 评论 -
ACM-ICPC 2018 徐州赛区网络预赛 B. BE, GE or NE
题目链接:https://nanti.jisuanke.com/t/31454题目大概意思:刚才写这篇博客的时候,把意思打出来了,结果不小心关了,然后没保存上。这次就不解释了。大概思路:比较难想,但是想到了就不难了。就是一个dfs+记忆数组,然后把搜索过的结果存起来,方便下次用。复杂度:n*200代码:import java.io.*;import java.u...原创 2018-09-09 18:26:34 · 382 阅读 · 0 评论 -
ACM-ICPC 2018 徐州赛区网络预赛 H. Ryuji doesn't want to study
题目链接:https://www.jisuanke.com/contest/1557?view=challenges这个题感觉还有点意思,应该算是板子线段树加点东西。树的每个节点除了要储存sum,还要储存这个区间函数的值。注意答案会爆int。 import java.io.*; import java.util.*; import javax.swing.JOptionPane...原创 2018-09-09 18:33:16 · 213 阅读 · 0 评论 -
POJ3254 Corn Fields
题目链接:http://poj.org/problem?id=3254入门的状压DP,看了我一上午~~其实就是枚举每一位的情况,然后计算下一位与上一位不冲突的情况~~https://blog.csdn.net/harrypoirot/article/details/23163485这篇博客写的就挺棒的,就是这篇博客让我明白了这道题。感谢大佬Rrz。我的代码(ps:居然1A了...原创 2018-09-19 14:41:00 · 181 阅读 · 0 评论 -
洛谷P1896互不侵犯King
这道题也是一道状压DP。http://www.cnblogs.com/Ronald-MOK1426/p/8456798.html这个博客写的比较详细。其实入门了第一道状压DP:https://blog.csdn.net/King8611/article/details/82771818后这道题还是挺容易的。不过dp加了个关系。dp[i][j][k]表示第i个状态为j的情况下,当...原创 2018-09-19 16:22:07 · 334 阅读 · 0 评论 -
P2704 [NOI2001]炮兵阵地
题目链接:https://www.luogu.org/problemnew/show/P2704状压DPdp[i][j][k]在第i层,第j个状态下,上面那层为k的最大值代码:import java.util.*;import java.io.*;public class Main { static int state[],stateLen; //表示所有可能状态,长...原创 2018-09-20 11:28:56 · 286 阅读 · 0 评论