本月博客排行
-
第1名
龙儿筝 -
第2名
zysnba -
第3名
johnsmith9th - wy_19921005
- sgqt
年度博客排行
-
第1名
宏天软件 -
第2名
青否云后端云 -
第3名
龙儿筝 - gashero
- wallimn
- vipbooks
- wy_19921005
- benladeng5225
- fantaxy025025
- javashop
- qepwqnp
- e_e
- 解宜然
- zysnba
- ssydxa219
- sam123456gz
- ranbuijj
- arpenker
- tanling8334
- kaizi1992
- sichunli_030
- xpenxpen
- gaojingsong
- wiseboyloves
- xiangjie88
- ganxueyun
- xyuma
- wangchen.ily
- jh108020
- zxq_2017
- jbosscn
- lemonhandsome
- luxurioust
- Xeden
- lzyfn123
- forestqqqq
- zhanjia
- nychen2000
- ajinn
- wjianwei666
- johnsmith9th
- hanbaohong
- daizj
- 喧嚣求静
- silverend
- mwhgJava
- kingwell.leng
- lchb139128
- lich0079
- kristy_yy
最新文章列表
二维数组 元素的连续求解
import java.util.HashMap;
public class Title {
public static void main(String[] args){
f();
}
// 二位数组的应用
//12、二维数组中,哪一行或哪一列的连续存放的0的个数最多,是几个0。注意,是“连续”。
public static void f(){
...
字符串对称 计算插入字符最小对称数
//题目:要求对任意一个字符串,通过加入若干字符使其对称
// 如abcda至少要插入两个字符,两个一下无法使其对称abdcdba,adbcdba
/*
* 思路:
判断首尾是否相等 , 有两种情况,一次的从两侧向中间推移
* a b c d
*
*/
public static int symmetry(String source){ //字符串 ...
数组转换 奇数 偶数排序倒置
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Stack;
public class Title {
public static void main(String[] args){
f();
}
// 0、一维数组中存有奇数和偶数,将奇数在奇数的位置上从大到小排序,
...
字符串处理 相同的子串
// 共同子段
// 4、输出两个字符串中的最长公共子串。
// 例如:“abcfabcd”和“abcdabce”中最长公共子串为“abcd”。
public static void f4(){
String str1 = "abcfabcd";
String str2 = "arcfabdabce";
// 获取两个字符的所有字串 ...
字符串处理 子串不重复
// 字串不重复
// 题目:、输出字符串中不重复的子串。
// 例如:“aaab”中, 不重复的子串有“a”“aa”“aaa”“aaab”“aab”“ab”“b”。
public static void f3(){
String str = "aaab";
ArrayList<String> arrayStr = new ArrayLi ...
字符串处理 字串问题
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
//字符串的处理
public class StringAction {
public static void main(String[] args){
f();
}
//题目:一个字符串中,哪个子串(长度要求 ...
最长公共子序列--南阳理工
描述 需要你做的就是写一个程序,得出最长公共子序列。
tip:最长公共子序列也称作最长公共子串(不要求连续),英文缩写为LCS(Longest Common Subsequence)。其定义是,一个序列 S ,如果分别是两个或多个已知序列的子序列,且是所有符合此条件序列中最长的,则 S 称为已知序列的最长公共子序列。
输入第一行给出一个整数N(0<N<100)表示待测数据组数
接下来 ...
UVA 10168 Summation of Four Primes
/*
* [题意]
* 将一个数拆成四个素数的和,若不可能,则输出"Impossible."
*
* [解题方法]
* 根据哥德巴赫猜想,大于2的偶数能够分成两个素数的和
* (还没完全得到证明,但在题目所给范围内必然成立)
* 利用这个猜想,只要根据输入的奇偶性,定死前两个素数
* 若输入是奇数,则定为2 3 ? ?
* 若是偶 ...
UVA 10139 Factovisors
/*
* [题意]
* 判断n!是否能被m整除(n!/m = 整数)
*
* [解题方法]
* 对m分解素因子,得出每个素因子的个数
* 若某个素因子个数大于n!中此因子的个数,则不可整除
*/
#include <iostream>
#include <string.h>
#include <stdio.h>
#in ...
UVA 10104 Euclid Problem
新手请进:扩展欧几里德入门
/*
* 直接Egcd就得出|x|+|y|最小的解
* 不知道为什么可以这样,我觉得分4种情况讨论的做法更靠谱些
*/
#include <iostream>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
# ...
UVA 10006 Carmichael Numbers
/*
* [题意]
* 输入n,若满足如下两个条件,则n是Carmichael number
* 1、n不是素数
* 2、对于所有a(2<=a<n),有(a^n)%n = a
*
* [解题方法]
* 快速幂取模,注意运算过程中的乘法溢出int
*/
#include <iostream>
#include &l ...
UVA 10110 Light, more light
/*
* [题意本质]
* 输入n,如果n的约数个数是奇数,输出yes,否则输出no
* (注:n的约数不包括1和n本身,不过包括也不影响奇偶性)
*
* [解题方法]
* 1、最简单普通的做法:
* 枚举i(1<i<=sqrt(n)),累计约数个数,复杂度sqrt(n),结果超时TLE
* 2、素数筛法加速+简单组合数学: ...
《挑战编程》第11章-动态规划
UVa 题号: 10131 Is Bigger Smarter? (越大越聪明?) 题解UVa 题号: 10069 Distinct Subsequences (不同的子序列) 题解UVa 题号: 10154 Weights and Measures (重量和力量) 题解UVa 题号: 116 Unidirectional TSP (单向旅行商问题) 题解UVa 题号: 10003 Cuttin ...
UVA 10201 Adventures in Moving - Part IV
// [解题方法]
// dp[i][j]表示到达第i个加油站剩余油量为j时的最小花费
// 特殊地,dp[n][j]表示到达终点剩余油量为j时的最小花费
// 状态转移:(设w[i]为每个加油站的位置,p[i]为油单价)
// 行驶:dp[i][j-(w[i]-w[i-1])] = dp[i-1][j](0<i<=n)
// 加油:dp[i][j] = ...
UVA 10271 Chopsticks
// [解题方法]
// 将筷子按长度从大到小排序
// 排序原因:
// 由于一组中A<=B<=C
// 选第i根筷子作为A时,必然要选第i-1根作为B,否则不会达到最优
// dp[i][j]表示选了对于前j根筷子选了i个筷子集合时的最小花费
// 设c[j]为选j作为A,j-1作为B时的花费(c[j]=(w[i]-w[i-1])^2;),状态转 ...
UVA 10261 Ferry Loading
// [题意]
// n辆车按顺序安排在一个渡口的左边或右边,不超过渡口长度最多放多少辆
// 相当于n个物品按顺序尽量多地放在两个相同容量的背包里
// 如果放不下后面的就不放了,题目还要求输出要放的车都放哪边?记录路径即可
// 由于是按顺序放,所以第i辆车放的话,i前面的车必然已经放好了,不可能不放
// [解题方法]
// dp[i][j]=1 表示左边车占 ...
UVA 10003 Cutting Sticks
// [解题方法]
// 记忆化搜索(递归,子问题的结果用备忘录存起来,避免重复求解)
// 设棍子长度n,输入的c[i]是棍子上的坐标
// dp[x][y](即dfs(x,y))表示砍c[x]到c[y]段的最小花费
// 每次砍c[x]~c[y]段的时候枚举砍的位置i
// 状态转移:dp[x][y] = min(dp[x][i] + dp[i][y] + c[y]-c ...
UVA 116 Unidirectional TSP
// [解题方法]
// 记忆化搜索(递归,子问题的结果用备忘录存起来,避免重复求解)
// 二维nxt数组按照题意记录路径
// dp[x][y](即dfs(x,y))表示从(x,y)走到最右边需要的最小花费
#include <iostream>
#include <string.h>
#include <stdio.h>
#in ...