![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ACM
Xiao菜瓜
这个作者很懒,什么都没留下…
展开
-
一个很简短的快排。
刚才心血来潮用指针交换法写了个快(man)排,核心代码如下:public static void sort(int arr[],int l,int r){ if(l==r-1)return; int index=index(arr,l,r); sort(arr,l,index); sort(arr,index+1,r);}static int index(int arr[],in...原创 2018-12-22 12:13:27 · 711 阅读 · 5 评论 -
给18小萌新的一个有趣的小问题,取石子问题
题目描述:现在地上横着一排放了N堆石头(N是偶数),每一堆石头的个数不确定(但是总数和为奇数)。然后两个人轮流取石头,规则是一次只能取一堆,而且只能取首位,最后谁拿到的石头多谁取胜,请问如果你先手的话,你是否有一个必胜的策略?题解:答案当然是有的,那么这个思路是怎么样的呢?很简单。你给这堆石头编号从1-n。比如有8堆,编号1-8.然后计算编号为奇数堆石头的个数和还有...原创 2018-09-12 22:19:26 · 545 阅读 · 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 评论 -
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 南京赛区网络预赛 :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 评论 -
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 评论 -
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 评论 -
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 评论 -
位运算符技巧
转自: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 评论 -
牛客练习赛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 评论 -
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 评论 -
二分图匹配板子
匈牙利算法,A了一道板子题:http://acm.hdu.edu.cn/showproblem.php?pid=2063推荐学习视频:https://www.bilibili.com/video/av16362938?t=767import java.util.*;import java.io.*;public class Main { static int maxn=600; ...原创 2018-11-15 10:56:20 · 273 阅读 · 0 评论 -
The Monocycle UVA - 10047
题目链接:https://vjudge.net/problem/UVA-10047其实蓝书上写的挺好的,用四个状态,xy坐标,朝向,颜色作为一个节点。然后就easy了JAVA代码import java.util.*;import java.io.*;import java.math.*;public class Main { final static int inf=1&...原创 2018-11-11 13:39:16 · 238 阅读 · 0 评论 -
POJ2516 Minimum Cost(网络流,最小费用最大流)
题目链接:http://poj.org/problem?id=2516这道题有点呕。题目大概意思:现在有n个店主,m个供应商,k个商品。现在给你n*k的矩阵,表示每个店主对于每个商品的需求量。然后给你m*k的矩阵,表示每个供应商每个物品的拥有量。然后给你k个n*m的矩阵,表示每个商品在每个供应商和商人之间的消费。最后求能否满足所有店主都能得到满足,如果可以输出最小费用,...原创 2018-11-05 09:24:05 · 250 阅读 · 0 评论 -
Race to 1 UVA - 11762
概率DP比较精妙。import java.util.*;import java.io.*;public class Main { static boolean isPrimer[]; static int l=0; static int len=1000010; static int primer[]; static StreamTokenizer in=new Strea...原创 2018-10-25 10:14:17 · 194 阅读 · 0 评论 -
扩展卢卡斯 (板子)
求c(m,n)%a不知道原理,不过套板子就对了: #include<bits/stdc++.h>using namespace std;typedef long long ll;ll exgcd(ll a,ll b,ll &x,ll &y){ if(!b){x=1;y=0;return a;} ll res=exgcd(b,a%...原创 2018-10-25 08:16:17 · 268 阅读 · 0 评论 -
最小费用最大流板子(JAVA)
板子题: 洛谷P3381 【模板】最小费用最大流https://www.luogu.org/problemnew/show/P3381import java.util.*;import java.io.*;public class Main { static int v,m,s,t,f; //点的个数,边的个数,源点,汇点,流量。 ...原创 2018-10-22 09:17:00 · 781 阅读 · 0 评论 -
最大流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 评论 -
leetcode 4 Median of Two Sorted Arrays
这道题挺有趣的。我百度了一个思路就是,写一个find函数,可以寻找第k大的数,复杂度是log(k).思路就是,要寻找第k大的数,每次在两个数组的其中一个中杀掉k/2个数就行了。 public double findMedianSortedArrays(int[] nums1, int[] nums2) { int n=nums1.length; int m=...原创 2018-10-15 09:41:10 · 178 阅读 · 1 评论 -
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 评论 -
牛客练习赛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 -B凤 凰
题目链接:https://www.nowcoder.com/acm/contest/157/B这道题就很有意思了,这道题正面下手我们不好考虑,所以不妨从反面下手。1:我们假设现在有一棵n个节点的树,然后每秒从根节点过来一只鸟,那很明显,n秒后每个节点都会有一只鸟。2:但是这道题好像并不是根节点每秒只有一只鸟,但是根节点的子节点是刚好每秒有一只鸟路过。3:我们把根节点去掉,剩下几棵独...原创 2018-08-11 08:08:28 · 270 阅读 · 0 评论 -
牛客练习赛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 评论 -
字符串匹配的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 评论 -
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 评论 -
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 评论 -
数据结构-栈(JAVA)
栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。(百度百科) 栈能解决很多经典问题,比如括号配...原创 2018-07-25 11:38:07 · 320 阅读 · 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 评论 -
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 评论 -
2018侦探推理题
据说这是今年的侦探题,不过是好早的了,当时写出来没有开博客,今天发出来吧。思路就是用dfs暴力枚举每道题的答案,然后很多if判断答案是否正确,代码还是有一些赘余。是用JAVA写的。说一下复杂度问题,因为是4个选项,复杂度是4^10,2^20;大概就是1000^2=1e6;加上大量的判断,也不过是1e7。这个复杂度并不算太高,所以暴力枚举是行得通的。public class For {static...原创 2018-07-11 20:27:27 · 3999 阅读 · 0 评论 -
2018百度之星-1001调查问卷
这道题读起来可能有点费劲,大概就是现在有一份m道题的调查问卷,然后让n个人做,现在要从这m道题中挑几道,使得剩下的题保证最少有k对人互相不一样。应该算是比较简单,比较水的题吧。我的思路就是用dfs枚举每一位,然后判断这一位是否合理。判断是否合理,可以用组合数学中的知识,复杂度为线性的:从n个人中选两个,然后减去从每种情况下选两个的情况枚举每一位情况的复杂度是2^m,判断的复杂度是n...原创 2018-08-06 08:48:02 · 325 阅读 · 2 评论 -
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 评论 -
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赛题-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 评论 -
POJ-DINNIG
这道题真的很难想到是用最大流做得,主要是建图,大概就是这样:然后每条边得容量为1.然后牛和牛之间好像必须有对应得一条边,因为如果不这样的话,比如我们寻求增广路的时候,第一次选了f1、1号牛、d1,然后继续寻找可能就会找到f1、1号牛、d2。而如果加个牛和牛之间的边,恰好解决了这个问题,构思非常妙。下面是用ff板子做的:import java.util.*;public clas...原创 2018-07-27 12:12:31 · 212 阅读 · 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多校-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多校-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 评论 -
几个排序算法(Java实现)
转自点击打开链接选择排序:背景介绍: 选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。 ----- 来自 wikipedia算法规则: 将待排序集合(0...n)看成两部分,在起始状态中,一...转载 2018-07-08 18:50:03 · 165 阅读 · 0 评论