自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

.

弱水三千,只取一瓢

  • 博客(254)
  • 资源 (3)
  • 问答 (2)
  • 收藏
  • 关注

原创 博弈

一、巴什博弈(Bash Game)只有一堆n个物品,两个人从轮流中取出(1~m)个;最后取光者胜。 思路:考虑到 若n=m+1 那么 第一个人不论如何取都不能取胜。进一步我们发现 若 n=k*(m+1)+r; 先取者拿走 r 个,那么后者再拿(1~m)个n=(k-1)*(m+1)+s; 先取者再拿走s 个 最后总能造成 剩下n=m+1 的局面...

2019-02-28 13:11:56 546

翻译 hdu 4371 Alice and Bob [博弈]

题目题意:给一个数n和m个数d[m],现在A和B轮流进行操作,不能进行操作的人为输,规则如下:1.第一步A写一个0,设s[1]=0,第二步B令s[2]=s[1]+d[i]2.两人轮流从d数组中任选一个数d[k],令s[i]=s[i-1]+d[k]或者s[i]=s[i-1]-d[k];3.s[i]>s[i-2]并且s[i]<=n思路;从最终状态开始看,假设mi...

2019-02-27 11:22:17 243

原创 hdu 3089 Josephus again 【快速约瑟夫环】

约瑟夫问题的递推公式:f[n]=(f[n-1]+k)%n当 f(i−1)+k≥i       f(i-1)+k ≥ if(i−1)+k≥i 时,直接递推。当 f(i−1)+k<i       f(i-1)+k < if(i−1)+k<i 时,加速优化。那么可以加速多少步呢?设加速步数为 x。#include <iostream>#include...

2019-02-25 23:41:54 408

转载 约瑟夫环

约瑟夫问题约瑟夫问题是个著名的问题:N个人围成一圈,第一个人从1开始报数,报M的将被杀掉,下一个人接着从1开始报。如此反复,最后剩下一个,求最后的胜利者。 例如只有三个人,把他们叫做A、B、C,他们围成一圈,从A开始报数,假设报2的人被杀掉。首先A开始报数,他报1。侥幸逃过一劫。 然后轮到B报数,他报2。非常惨,他被杀了 C接着从1开始报数 接着轮到A报数,他报2。也被杀死了。 ...

2019-02-25 13:21:51 38117 7

原创 poj 3414 Pots

题目:有二个水壶,对水壶有三种操作:1)FILL(i),将i水壶的水填满;2)DROP(i),将水壶i中的水全部倒掉;3)POUR(i,j)将水壶i中的水倒到水壶j中,若水壶 j 满了,则 i 剩下的就不倒了,问进行多少步操作,并且怎么操作,输出操作的步骤,两个水壶中的水可以达到C这个水量。如果不可能则输出impossible。初始时两个水壶是空的,没有水。两个水壶三种操作,所...

2019-01-27 21:11:23 212

原创 Leading and Trailing

题目题意:求n^k的前3位和后3位。 后3位用快速幂求;求前3位需要知道:一个数n,它可以写成10^x,其中这个x为浮点数,则n^k=(10^x)^k=10^x*k=(10^A)*(10^B);其中A,B分别是x*k的整数部分和小数部分。n^k 它的位数由(10^A)决定,它的位数上的值则有(10^B)决定,因此我们要求n^k的前三位,只需要将10^B求出,再乘以100,就得到了它的前三位...

2019-01-25 13:10:21 229

原创 Working out

题意:一个人从左上走到右下,一个人从左下走到右上,两个人必须有一个点作为见面点,见面点的权值不能拿,问按照规则走,取得最大权值的和为多少只是考虑左上角那个点的话起点记作start,假设在(i,j)点处相遇,这个点记作now,然后继续走到终点右下角记作end,那么是不是这条路线的和就应该是start->now + now -> end这两段的数值的和,当然了不加now那个点;...

2019-01-18 22:29:49 1226

原创 hdu 2091 空心三角形

题目#include <iostream>#include <cstdio>#include <cstring>using namespace std;int main(){ int n; char ch; int flag = 0; while(scanf("%c",&ch),ch!='@') { scanf("%...

2018-12-19 14:09:36 148

原创 hdu 1086 You can Solve a Geometry Problem too [线段相交]

题目:给出一些线段,判断有几个交点。问题:如何判断两条线段是否相交?向量叉乘(行列式计算):向量a(x1,y1),向量b(x2,y2): 首先我们要明白一个定理:向量a×向量b(×为向量叉乘),若结果小于0,表示向量b在向量a的顺时针方向;若结果大于0,表示向量b在向量a的逆时针方向;若等于0,表示向量a与向量b平行。(顺逆时针是指两向量平移至起点相连,从某个方向旋转到另一个向...

2018-12-17 13:23:42 272

原创 hdu 1052 Tian Ji -- The Horse Racing【田忌赛马】

题目这道题主要是需要考虑到各种情况:先对马的速度进行排序,然后分情况考虑:1.当田忌最慢的马比国王最慢的马快则赢一局2.当田忌最快的马比国王最快的马快则赢一局3.当田忌最快的马比国王最快的马慢 则用田忌最慢的马和国王最快的马比,输一局4.当他们最快的马相等时则用 田忌最慢的马和国王最快的马比。【因为Tian剩下的super马一定能战胜king的plus马,所以就算自己输一场,队友也能帮...

2018-12-15 21:00:24 247

原创 poj1164 The Castle

有一个n*m的城堡,由一个个小房间组成,每个房间由一个零和四面的墙组成,每个房间都有一个价值,价值的计算方式是:west_walls价值为1,north_walls价值为2,east_walls价值为4,south_walls价值为8,walls的价值加在一起就是这个房间的价值。先输入n,m,随后输入n*m的数字矩阵。问castle有几个房间,最大的房间多大?这道题的关键在于,深搜的时...

2018-11-30 18:00:26 198

原创 求N!的位数

#include<iostream>#include <cstdio>#include <cmath>using namespace std;const double PI =acos(-1.0);const double e = 2.71828182;int main(){ double ans,res; int n; ...

2018-11-30 14:02:50 404

原创 n皇后问题

#include<stdio.h>#include<iostream>using namespace std;int n,ans;int vis[10];//vis[i]:第i行有一个皇后在vis[i]列int check(int r,int c){ for(int i=1;i<=r;i++) { if(vis[i]==c...

2018-11-25 12:23:09 211

原创 hdu 4911 Inversion and poj2299 [树状数组+离散化]

题目题意:  给你一串数字,然后给你最多进行k次交换(只能交换相邻的)问交换后的最小逆序对个数是多少。给你一个序列,每次只能交换相邻的位置,把他交换成一个递增序列所需要的最少步数 等于 整个序列的逆序对数。对于这个题目,我们只要求出个逆序对个数,然后输出逆序数 - k就行了,如果是负数输出0。之前做的这道题也是和逆序对有关,但是通过这道的代码改编一下,总是Runtime Error ...

2018-11-24 13:22:15 216

原创 离散化

思路是:先排序,再删除重复元素,最后就是索引元素离散化后对应的值。假定待离散化的序列为a[n],b[n]是序列a[n]的一个副本,则对应以上三步为:sort(sub_a,sub_a+n);int size=unique(sub_a,sub_a+n)-sub_a;//size为离散化后元素个数for(i=0; i&lt;n; i++) a[i]=lower_bound(s...

2018-11-24 13:21:15 264

原创 汉诺塔

Hanoi(n,A,B,C) : A借助B将n个盘子移动到C。第一步:A借助C将n-1个盘子移动到B; Hanoi(n-1,A,C,B);第二步:将A上剩余的一个盘移到C;A-->C第三步:B借助A将n-1个盘子移动到C;Hanoi(n-1,B,A,C);#include <iostream>#include <cstdio>using name...

2018-11-19 14:32:33 200

原创 hdu 4027 Can you answer these queries?[线段树]

题目题意:输入一个 :n  。(1&lt;=n&lt;&lt;100000)输入n个数    (num&lt;2^63)输入一个m :代表m个操作    (1&lt;=m&lt;&lt;100000;)接下来m行,每行三个数a,b,c,如果a==0,执行操作1;如果a==1,执行操作2.   操作1:对[b,c]区间上的每一个数进行开平方操作操作2:对[b,c]区间求和...

2018-11-19 13:57:13 181

原创 开根号

 法一:用二分法一个数一个数地代入,平方,再和原数比较大小,然后继续代入,直到得到十分近似的值法二:牛顿迭代法:百度百科#include &lt;cstdio&gt;#include &lt;iostream&gt;#include &lt;cstring&gt;#include &lt;cmath&gt;using namespace std;#define eps 0....

2018-11-19 11:06:32 2520

原创 hdu 1069 Monkey and Banana 【动态规划】

题目题意:研究人员要测试猴子的IQ,将香蕉挂到一定高度,给猴子一些不同大小的箱子,箱子数量不限,让猩猩通过叠长方体来够到香蕉。 现在给你N种长方体, 要求:位于上面的长方体的长和宽  要小于  下面长方体的长和宽。 思路:对于一种长方体,长宽高(a,b,c)有6总不同的组成方式{(a,b,c),(a,c,b),(b,a,c),(b,c,a),(c,a,b),(c,b,a) },对所有组...

2018-11-12 13:58:21 260

原创 hdu 1079 Calendar Game

题目题意:Adam and Eve 两个人进行日期移动,开始日期为y-m-d,每次可以移动到下月的同一天(m+1)+d   或者  这一天的下一天m+(d+1),最后移动到2001-11-4的胜利。找规律,因为动作的始终是month+1或者day+1,影响的结果大部分都是(month+day+1),即如果(month+day)为偶数,+1后变为奇数,(month+day)为奇数,+1后...

2018-11-10 19:02:14 230

原创 hdu 1071 The area

题目题意:已知p1,p2,p3三点求抛物线和直线围成的面积。核心代码就一行,结果够推两个小时了。#include &lt;iostream&gt;#include &lt;cstdio&gt;#include &lt;math.h&gt;using namespace std;int main(){ double x1,x2,x3,y1,y2,y3; ...

2018-11-01 16:38:27 195

原创 poj 2505 A multiplication game

题目题意:两个人轮流玩游戏,Stan先手,数字 p从1开始,Stan乘以一个2-9的数,然后Ollie再乘以一个2-9的数,直到谁先将p乘到p&gt;=n时那个人就赢了,而且轮到某人时,某人必须乘以2-9的一个数。1 &lt; n &lt; 4294967295如果,n∈[2,9],那么stan必胜。【9】如果,n∈[10,18],stan先手,只能给到[2,9]之间的数字。Stan不...

2018-10-29 15:48:05 168

原创 hdu 2102 A计划

题目  中文题,题意不赘述。遇到上下两层都是# 的,就把上下两层的这个位置都弄成墙还有遇到 一层是#一层是墙的,也直接把俩都弄城墙就行,省的要判断他撞死。mp[][][]开个三维的,记录两层楼#include&lt;iostream&gt;#include &lt;cstdio&gt;#include&lt;queue&gt;#include &lt;cstring&gt;...

2018-10-25 19:26:40 134

原创 java中三种注释

//单行注释/* 多行注释*//** * 文档注释 * version 2018.10.25 * authou GMY */

2018-10-25 17:07:11 3289

原创 poj 1321 棋盘问题

题目  中文题目,题意不在赘述,思路代码中。#include &lt;iostream&gt;#include &lt;cstring&gt;#include &lt;cstdio&gt;using namespace std;char mp[10][10];int vis[10];int cnt = 0;int n,k;/** 采用的是按行递增的顺序来搜索的, ...

2018-10-25 17:02:59 128

原创 1024

听说今天发博客,可以获得勋章,我来试试看

2018-10-24 12:30:18 6110

原创 poj 1753 2965

这两道题类似,前者翻转上下左右相邻的棋子,使得棋子同为黑或者同为白。后者翻转同行同列的所有开关,使得开关全被打开。poj 1753     题意:有一4x4棋盘,上面有16枚双面棋子(一面为黑,一面为白), 当翻动一只棋子时,该棋子上下左右相邻的棋子也会同时翻面。以b代表黑面,w代表白面,给出一个棋盘状态,     问从该棋盘状态开始,使棋盘变成全黑或全白,至少需要翻转多少步#inc...

2018-10-22 18:17:38 227

原创 poj 1837 Balance

题目题意:有一个类似天平的东西,左右两边臂长各15,然后给你一些臂上的挂钩和砝码,问把所有砝码放上去后天平达到平衡的的状态有多少种方案?input:  C G     //挂钩个数  砝码个数       C (2 &lt;= C &lt;= 20) and the number G (2 &lt;= G &lt;= 20); C个数  //挂钩位置(负数代表在平衡点左边)G个...

2018-10-19 18:02:42 187

原创 poj 3009 Curling 2.0

题目#include &lt;iostream&gt;#include &lt;cstdio&gt;#include &lt;cstring&gt;using namespace std;const int Max = 0x3f3f3f3f;int ei,ej;int steps,mi;int dir[4][2]= {{-1,0},{1,0},{0,-1},{0,1}};i...

2018-10-18 15:29:01 136

原创 poj 2192 Zipper

题目刚开始本来觉得可以用队列来写,但是 例如 ta te teta,ta的t先出队列那就不行了,所以还得用dpdp[i][j] 表示A前i个字符与B前j个字符是否能构成C前i+j个字符要使 dp[i][j] = 1 :需满足 dp[i-1][j] == 1 &amp;&amp; C[i+j-1] == A[i-1] 或者 dp[i][j-1...

2018-10-18 15:22:23 158

原创 poj 3278 Catch That Cow

题目题意:输入n,m,求由n到m需要最少步数,n只能加一减一或者乘二。每一种可能读入队尾,然后再从队首一个一个的遍历(0 ≤ n,m≤ 100,000) ,Max 需要取到2*100,000#include &lt;iostream&gt;#include &lt;cstdio&gt;#include &lt;cstring&gt;#include &lt;queue&gt;...

2018-10-15 14:32:48 146

原创 poj 2488 A Knight's Journey

题目题意:给出一个国际棋盘的大小 p*q,判断马能否不重复的走过所有格,并记录下其中按字典序排列的第一种路径。因为要求字典序输出最小,所以按下图是搜索的次序搜素出来的就是最小的。初始方向数组:int f[2][8]={{-2,-2,-1,-1, 1,1, 2,2},  {-1, 1,-2, 2,-2,2,-1,1}}; #include &lt;iostream&gt;...

2018-10-15 12:53:02 171

原创 poj 3982 序列

题目大数运算。Java秒过import java.math.BigInteger;import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); BigInteger a,b,c; wh...

2018-10-14 17:31:57 150

原创 poj 2109 Power of Cryptography

题目题意:给你两个整数 n 和 p ,让你求一个 k 满足 k^n=p,1&lt;=n&lt;= 200, 1&lt;=p&lt;10^101,1&lt;=k&lt;=10^9类型          长度 (bit)           有效数字          绝对值范围float             32                      6~7            ...

2018-10-14 14:12:38 131

原创 poj 3258 3273

 poj3258 题目  (最大化最小值)(最小值最大化)题意:牛要到河对岸,在与河岸垂直的一条线上,河中有N块石头,给定河岸宽度L,以及每一块石头离牛所在河岸的距离,现在去掉M块石头,要求去掉M块石头后,剩下的石头之间以及石头与河岸的最小距离的最大值。此题要求最短距离最大,对于最短距离我们知道其范围是1~L,那么可以在该单调区间内进行二分查找不断缩小范围。那么还需要一个判断函数jud...

2018-10-12 12:49:10 235

原创 java中大数的一些基本运算

import java.math.BigInteger;import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); BigInteger a,b; while(in.hasNext()) ...

2018-10-10 10:57:27 341

原创 hdu 1715 大菲波数

题目二维数组存数,开始的一维存的是1000个菲波数,后面那一维是用来存数字的。#include &lt;iostream&gt;#include &lt;cstdio&gt;#include &lt;cstring&gt;using namespace std;const int N = 1010;const int Max = 2500;int f[N][Max];in...

2018-10-08 14:24:35 134

原创 最小生成树模板

两者的不同之处在于:kruskal----归并边;prim----归并点prim:#include &lt;iostream&gt;#include &lt;cstdio&gt;#include &lt;cstring&gt;using namespace std;const int INF = 0x3f3f3f3f;const int Max = 1e3;int mp[...

2018-10-04 17:25:21 138

原创 最小生成树练习

poj 2485  题意:给你一个图的邻接矩阵,求最小生成树,输出的是树中的最大边poj 1258题意:和上一题几乎完全相同,求的是最小生成树的总权值hdu 1879 注意:要用scanf();printf() 输入输出,;另外,用kruskal,不能用以顶点为操作对象的prim. ...

2018-10-04 17:06:00 682

原创 最短路练习

目录最短路练习poj 2387 Til the Cows Come Homepoj 2253 Frogger poj 1797 Heavy Transportationpoj 3268 Silver Cow Partypoj 1860 Currency Exchangehdu 3790 最短路径问题poj 2387 Til the Cows Come Home题...

2018-09-29 13:57:31 434

常用正则表达式.pdf

常用正则表达式

2021-09-09

c++入门讲义.rar

“BV1et411b73Z”

2021-09-22

Rational-Rose使用手册

Ration-Rose使用手册,《Rational Rose 2003基础教程》 配套电子教案

2018-11-29

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除