- 博客(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<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<=n<<100000)输入n个数 (num<2^63)输入一个m :代表m个操作 (1<=m<<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 <cstdio>#include <iostream>#include <cstring>#include <cmath>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 <iostream>#include <cstdio>#include <math.h>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>=n时那个人就赢了,而且轮到某人时,某人必须乘以2-9的一个数。1 < n < 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<iostream>#include <cstdio>#include<queue>#include <cstring>...
2018-10-25 19:26:40
134
原创 java中三种注释
//单行注释/* 多行注释*//** * 文档注释 * version 2018.10.25 * authou GMY */
2018-10-25 17:07:11
3289
原创 poj 1321 棋盘问题
题目 中文题目,题意不在赘述,思路代码中。#include <iostream>#include <cstring>#include <cstdio>using namespace std;char mp[10][10];int vis[10];int cnt = 0;int n,k;/** 采用的是按行递增的顺序来搜索的, ...
2018-10-25 17:02:59
128
原创 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 <= C <= 20) and the number G (2 <= G <= 20); C个数 //挂钩位置(负数代表在平衡点左边)G个...
2018-10-19 18:02:42
187
原创 poj 3009 Curling 2.0
题目#include <iostream>#include <cstdio>#include <cstring>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 && 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 <iostream>#include <cstdio>#include <cstring>#include <queue>...
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 <iostream>...
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<=n<= 200, 1<=p<10^101,1<=k<=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 <iostream>#include <cstdio>#include <cstring>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 <iostream>#include <cstdio>#include <cstring>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
完犊子了,正式库被我删了
2024-10-22
内存在某个时间点激增,导致系统崩溃,可能会是什么原因呢
2024-09-17
Java执行python
2023-12-01
爬取某一个网站上的数据,一段时间之后,详细页面就404了
2021-12-08
MUI :通过ajax得到的json数据如何通过juicer渲染显示
2019-01-12
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅