- 博客(35)
- 收藏
- 关注
原创 HDUOJ1047Integer Inquiry(Java大数加法)
HDUOJ1047Integer InquiryProblem DescriptionOne of the first users of BIT’s new supercomputer was Chip Diller. He extended his exploration of powers of 3 to go from 0 to 333 and he explored takin...
2018-04-24 21:31:47 226
原创 HDUOJ1865 1string
HDUOJ1865 1string Problem Description You will be given a string which only contains ‘1’; You can merge two adjacent ‘1’ to be ‘2’, or leave the ‘1’ there. Surly, you may get many different results....
2018-04-24 20:11:36 217
原创 Nise-Anti-AK Problem
计蒜客2018 ACM-ICPC 中国大学生程序设计竞赛线上赛L.Nise-Anti-AK Problem Description:Peppa has been learning math recently, he is trapped by a easy problem. He is given a sequence of n numbers, what he need to do is...
2018-04-22 21:02:25 280
原创 Reversion Count(Java大数)
计蒜客2018 ACM-ICPC 中国大学生程序设计竞赛线上赛 I . Reversion Count Description:There is a positive integer X, X’s reversion count is Y. For example, X=123, Y=321; X=1234, Y=4321. Z=(X-Y)/9, Judge if Z is made up ...
2018-04-22 19:07:02 168
原创 HDUOJ1042N!(Java大数)
HDUOJ1042N! Problem Description Given an integer N(0 ≤ N ≤ 10000), your task is to calculate N!Input One N in one line, process to the end of file.Output For each N, output N! in one line.第一...
2018-04-21 21:20:59 227
原创 HDUOJ2546饭卡(01背包)
HDUOJ2456饭卡 Problem Description 电子科大本部食堂的饭卡有一种很诡异的设计,即在购买之前判断余额。如果购买一个商品之前,卡上的剩余金额大于或等于5元,就一定可以购买成功(即使购买后卡上余额为负),否则无法购买(即使金额足够)。所以大家都希望尽量使卡上的余额最少。 某天,食堂中有n种菜出售,每种菜可购买一次。已知每种菜的价格以及卡上的余额,问最少可使卡上的余额为多...
2018-04-21 19:37:54 181
原创 二维数组的背包问题andSDNUOJ1061采药3
每个价值为v[i]的物品都有两个代价a[i](最大为A)和b[i](最大为B)可以把dp数组写成三维dp[i][j][k]表示前i件物品在付出代价为j和k时可获得的最大价值状态转移方程dp[i][j][k] = max(dp[i-1][j][k], dp[i-1][j-a[i]][k-b[i]])01背包----j,k逆序循环for(int i = 1; i <= n; i++) ...
2018-04-19 20:30:33 255
原创 高斯消元解线性方程组
哇线代学了矩阵之后感觉更明了吖首先消元以前就是直接用式子消,然后矩阵的话就是写出增广矩阵(A,b)然后把它化成行最简式如果有全为0的行方程组就无解或有多解(消元之后未知变量个数大于方程数)/*矩阵的秩R(A) < R(a,b) <——> 无解R(A) = R(A,b) = n <——> 有唯一解R(A) = R(A,b) < n <——&g...
2018-04-11 20:33:38 200
原创 Java数据类型
Java 的两大数据类型:内置数据类型引用数据类型//类似于c++中的指针内置数据类型Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。(1).数字类型①.byte8位、有符号的,以二进制补码表示的整数;最小值是 -128(-2^7);最大值是 127(2^7-1);默认值是 0;②.short16 位、有符号的以二进制补码表示的整数最小值是 -...
2018-04-10 21:03:34 125
原创 SDNUOJ1259play the guitar(Java大数)(c++大数乘法模板)
链接SDNUOJ1259 play the guitarDescriptionlmh like playing the guitar, but he don’t satisfy others’ GTP. He want to write guitar score by himself. And he don’t want to use 53231323, it’s boring! He want ...
2018-04-10 20:44:19 162
原创 Java中String和StringBuffer的区别
String是常量,对象一旦产生不可修改StringBuffer是变量,对象内容可以修改若经常对一个字符串进行修改(如插入,删除等),用StringBuffer更合适定义String s1 = "wuswiiscute";StringBuffer s2 = new StringBuffer("wuswiiscute");StringBuffer常用方法①.s2.append(s3);字符串链接②...
2018-04-10 20:36:45 172
原创 数位dp and SDNUOJ1248陆历川玩数位
数位dp就是要统计一个区间[l, r]内满足给定条件数的个数控制上界,往下枚举SDNUOJ1248陆历川玩数位 Description A number X have n digits(A1A2A3......An)F(x) = A1*2n-1 + A2*2n-1 .....+An-1*21 + An *20Now, gi...
2018-04-03 19:26:49 193
原创 中国剩余定理andHDUOJ3579
求解一次同余式组的方法一、除数互质//中国剩余定理 ,r[]存放余数 ,prime[]存放两两互质的数(除数) int Chinese_Remainder(int r[],int prime[],int len) { int i,d,x,y,m,n=1,sum=0; //计算所以除数的积n,也是所以除数的最小公倍数 for(i=0;i<len;i++...
2018-03-30 19:20:01 303
原创 无权二分图(最大匹配,完美匹配)(匈牙利算法)andSDNUOJ1247
二分图:一个图的顶点分为两部分在不想交的集合中使每一条边都分别连接两个集合中的顶点最大匹配:所含匹配边数最大的匹配完美匹配:所有的顶点都有匹配(完美匹配一定是最大匹配)(不是每个图都有完美匹配)匈牙利算法:求解最大匹配的算法之一两个集合A和B先给A[1]找匹配B[1]无匹配那么两者连接然后给A[2]找匹配......如果碰到一个A[i]的匹配已经被之前A[j]的匹配过了那么返回找A[j]能不能有别...
2018-03-29 21:29:33 359
原创 HDUOJ1203 I NEED A OFFER!(dp)(背包)
HDUOJ1203Problem DescriptionSpeakless很早就想出国,现在他已经考完了所有需要的考试,准备了所有要准备的材料,于是,便需要去申请学校了。要申请国外的任何大学,你都要交纳一定的申请费用,这可是很惊人的。Speakless没有多少钱,总共只攒了n万美元。他将在m个学校中选择若干的(当然要在他的经济承受范围内)。每个学校都有不同的申请费用a(万美元),并且Speakle...
2018-03-23 19:32:59 190
原创 最长公共子序列(LCS)and最长上升子序列(LIS)
最长公共子序列(LCS)状态方程dp[i][j] = 0 , i == 0 || j == 0dp[i][j] = dp[i-1][j-1] + 1, i, j > 0 && x[i] == y[i]dp[i][j] = max(dp[i][j-i], dp[i-1][j]), i, j > 0 && x[i] != y[i][cpp] view pla...
2018-03-23 19:30:57 146
原创 区间dp(石子合并and括号匹配)
就是把大区间划分为小区间然后取小区间的最优值处理石子合并和括号匹配(1). 石子合并①.n堆石子,每堆有a[i]个,每次合并两堆,需要体力为相邻两堆石子之和每次合并最小的两堆就好了SDNUOJ1013石子合并简化版[cpp] view plain copy#include<cstdio> #include<algorithm> #include<iostream&...
2018-03-23 19:29:19 281
原创 各种背包(01背包, 完全背包, 多重背包)(SDNUOJ1033采药)(SDNUOJ1043采药2)
1.01背包问题有N种物品与承重为W的背包。每种物品只有一件,每个物品都有对应的重量w[i]与价值v[i],求解如何装包使得价值最大。w[i]表示i物品的重量v[i]表示i物品的价值f[i][j]表示有i个物品 ,容量为j时的最优解W总容积N物品个数当变成i+1个物品时第i+1个物品不放进背包dp[i+1][j]=dp[i][j]第i+1个物品放进背包dp[i+1][j]=dp[i][j-w[i+...
2018-03-23 19:27:32 346
原创 dp入门
先一个简单的dp题HDUOJ2084数塔Problem Description在讲述DP算法的时候,一个经典的例子就是数塔问题,它是这样描述的:有如下所示的数塔,要求从顶层走到底层,若每一步只能走到相邻的结点,则经过的结点的数字之和最大是多少?已经告诉你了,这是个DP的题目,你能AC吗? Input输入数据首先包括一个整数C,表示测试实例的个数,每个测试实例的第一行是一个整数N(1 <= N...
2018-03-23 19:24:33 3429
原创 拓扑排序andHDUOJ1285
(囤货)(虽然囤了很久还没写好,但是先发出来吧)是对DAG(Directed Acyclic Graph有向无环图)进行排序的算法从入度为0的节点开始,删除该节点和它的出边然后在形成的新图中重复操作(如果输出的点少于网中的点证明有回路)HDUOJ1285确定比赛名次Problem Description有N个比赛队(1<=N<=500),编号依次为1,2,3,。。。。,N进行比赛,比赛...
2018-03-22 19:43:55 178
原创 扩展欧几里得算法andPOJ1061
扩展欧几里得算法解线性同余方程首先欧几里得算法(辗转相除法)(求最大公约数)gcd(a,b)=gcd(b,a%b)递归int gcd(int a,int b){ if(b==0) return a; return gcd(b,a%b);}迭代int gcd(int a,int b){ while(b!=0) { ...
2018-02-24 13:47:20 219
原创 区间求和(线段树和树状数组)
一. 线段树线段树从零开始线段树详解lazy标记思想一种二叉树开四倍空间#define N 1000000int sum[N<<2];//求和int a[N];//存原数组 1.建树(存和) (1).递归实现void PushUp(int rt)//更新{Sum[rt]=Sum[rt<<1]+Sum[rt<<1...
2018-02-23 20:21:57 321
原创 最小生成树
1,Kueskal(加边)就是一个并查集的应用吧先把所有的边按从小到大排序,然后再按顺序判断每一条边要不要加上,就是边两边的点已经是一个集合(就是说,已经有可以联通的路了)就不用再加了,还不是就加代码#include<cstdio>#include<cstring>#include<algorithm>#include<iostream>us...
2018-01-30 21:28:16 217
原创 HDU2544最短路
链接:HDUOJ2544Problem Description在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的t-shirt。但是每当我们的工作人员把上百件的衣服从商店运回到赛场的时候,却是非常累的!所以现在他们想要寻找最短的从商店到赛场的路线,你可以帮助他们吗?Input输入包括多组数据。每组数据第一行是两个整数N、M(N<=100,M<=10000),N表示成...
2018-01-27 19:03:03 157
原创 HDUOJ1358Period(KMP)(ne[ ])
链接:HDUOJ1358Problem DescriptionFor each prefix of a given string S with N characters (each character has an ASCII code between 97 and 126, inclusive), we want to know whether the prefix is a per
2018-01-27 16:12:46 193
原创 HDUOJ3336Count the string (KMP)(next[ ]理解应用)(DP)
HDUOJ3336Problem DescriptionIt is well known that AekdyCoin is good at string problems as well as number theory problems. When given a string s, we can write down all the non-empty prefixes of this st...
2018-01-27 11:33:50 239
原创 几种排序算法
1、快速排序 先找出一个基准数(一般取第一个数),然后跑循环把所有比它小的数放在这个数左边,比它大的数放在它右边,然后递归对左边和右边的数们做同样的操作 代码:#include<cstdio>#include<iostream>using namespace std;int s[1000020];void quicksort(int num[],int le...
2018-01-20 15:44:47 131
原创 POJ2752Seek the Name, Seek the Fame(KMP)(前缀后缀)
链接:POJ2752Seek the Name, Seek the Fame 题意: 输入字符串,找出所有既是前缀又是后缀的字符串,输出这些字符穿的长度 思路:这是一个对KMPnext[]的应用的题,就是第i个字符s[i]的ne[i]代表在s[i]前面的ne[i]个字符这个字符串是前缀所以取既是前缀又是后缀的最后一个字符的ne开始 代码:#include#include#def
2018-01-20 15:31:59 194
原创 HDUOJ1711Number Sequence(KMP)
链接:HDUOJ1711Number Sequence 题意: 输入案例数t, 每组案例给定两组数,a[1]~a[N]andb[1]~b[M] (1 找出b在a中第一次出现的位置,若没有输出-1 思路:KMP循环判断 代码:#include#include#includeusing namespace std;#define N 1000010int ne[N];
2018-01-19 14:48:37 203
原创 HDUOJ2087剪花布条(KMP)
链接:HDUOJ2087剪花布条 题意:给一个花布条和一个小饰条,判断从花布条里可以剪出多少个小饰条,数据范围1000 思路:直接暴力可能会超时,所以用KMP算法,避免一些重复的循环,减少时间。从第一个字符开始比较,碰到不同的就跳,如果一直到小饰条的最后一个都相同那cnt+1,并且再把小饰条的第一个继续跟花布条的下一个开始比较 代码:#include#include#includ
2018-01-19 13:38:48 300
原创 2017_SDNU_ACM/ICPC_Freshman's Easy Game
吃鸡数 SDNUOJ1239.我,陆历川,吃鸡 题意:给出一个只能被2||3||5||7整除的的数字n,求他所有的因子个数,注意数据一丢丢大 思路:把n分解成sum2-1个2和sum3-1个3和sum5-1个5和sum7-1个7乘积的样子,然后组合 代码#include<cstdio>#include<iostream>using namespace std;int main(){
2017-12-21 19:11:59 329
原创 HDU1232畅通工程(并查集)
链接:HDU1232畅通工程 题意:某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇。省政府“畅通工程”的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要互相间接通过道路可达即可)。问最少还需要建设多少条道路 思路:并查集,把所有能联通的路搞成一组 ,然后搜索一共有x组,那就还需要x-1条路代码:#include#includ
2017-12-10 18:21:26 210
原创 HDU1548A strange lift(BFS)
HDUOJ1548 题意:有一个电梯,每一层规定一个数字k,只能按键从这一层走到这一层+k或-k层,给出初始楼层和目的楼层输出按键最少次数 不能到达的话输出-1 思路:BFS…没的说,看代码 代码:#include<cstdio>#include<cstring>#include<iostream>#include<queue>using namespace std;struct
2017-11-26 21:39:40 198
原创 HDUOJ1312Red and Black(DFSorBFS)
HDUOJ1312Problem DescriptionThere is a rectangular room, covered with square tiles. Each tile is colored either red or black. A man is standing on a black tile. From a tile, he can move to one o...
2017-11-23 17:17:25 227
原创 SDNUOJ1099前缀判断(set)
SDNU_ICPC1099 题意:给定 n 个字符串,求有多少字符串是其他字符串的前缀。1 &lt;= n &lt;= 1000,每行一个字符串,字符串只由26个小写字母组成,最大长度为100。 注意两个相同的字符串互为前缀思路: 定义一个字符串类型的数组(不知道这样用好不好Ծ‸Ծ)然后把每一串字符串的前缀们写出来放到一个容器里若输入的字符串里有这个容器中的元素那么他就是前缀 代码...
2017-11-12 16:54:58 531
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人