算法
文章平均质量分 62
Hackerzer
这个作者很懒,什么都没留下…
展开
-
WOJ-1402
水题,1分,题目看不懂到论坛上看懂的,然后输入输出弄了半天。#include#include#include using namespace std;int area(float num[][2],int no);int main(){ int k=1; while (k) { float num[100][2]; for (int i = 0; i < k; i+原创 2014-12-18 11:16:57 · 1155 阅读 · 0 评论 -
WOJ--1314
题目:WOJ-1314难度:1这一道题,以前做过,这次用递归进行了一下改写。在处理输入输出时,scanf_s又遇到了一点问题,一次回车只写进一次数据,与WOJ-1402有所不同。所以就分开写,加了一个循环。#includeint bfs(int n, int k){ if (n == 1) return k; else if (n % 2原创 2015-01-09 14:43:35 · 1216 阅读 · 0 评论 -
WOJ-Problem 1003- birth of Noal
从本文中可以看到c语言版本与c++版本的不同之处:(针对于字符串的处理)C语言版本:http://blog.csdn.net/laneige/article/details/8669726#include#include#include int main() { char *a[13]={"Adam","Seth","Enosh","Kenan","M原创 2015-01-29 12:28:14 · 1494 阅读 · 0 评论 -
WOJ-Problem 1004 - Noah's Ark
不知为何,总是输出:Output Limit Exceeded#include#include#include #include #define threshod 1e-9using namespace std;double change(double num, string c){ double k = 1.0; if (c=="meters")k = 100.0;原创 2015-01-29 14:48:59 · 1264 阅读 · 2 评论 -
WOJ-1315
跟RSA有啥关系!题源:WOJ-1315用二次方叠乘来进行指数运算,来减少运算。#includelong int mod(long int a, long int b, long int c){ long int res = 1; while (b >= 1){ if (b % 2 == 1) res = (res*a) % c; a = (a*a)原创 2015-01-09 18:54:11 · 688 阅读 · 0 评论 -
char* 初始化
char *tmp[36] = { "0" };char *num[36] = { 0 };原创 2015-01-09 21:12:22 · 1021 阅读 · 0 评论 -
WOJ-1316
#include#include#includeusing namespace std;char *str = "0123456789ABCDEFGHGKLMNOPQRSTUVWXYZ";char* tostr(int a, int b){ int absb = abs(b); int absa = abs(a); char tmp[37] = {0}; char res[原创 2015-01-09 22:40:18 · 934 阅读 · 0 评论 -
i++
#includeusing namespace std;int main(){int i = 0;int h = i++;cout cout }输出:01原创 2015-01-31 12:03:39 · 609 阅读 · 0 评论 -
字符串与数组
char *s[8] = { “littleken”, “knuthocean”, “dongfangxu”, “zap”, “kittig”, “robertcui”, “forest”, “flirly” }; 可char **s = { “littleken”, “knuthocean”, “dongfangxu”, “zap”, “kittig”, “robertcui”,原创 2015-01-31 12:03:52 · 421 阅读 · 0 评论 -
随机数产生方法
5.产生一定范围随机数的通用表示公式要取得[a,b)的随机整数,使用(rand() % (b-a))+ a;要取得[a,b]的随机整数,使用(rand() % (b-a+1))+ a;要取得(a,b]的随机整数,使用(rand() % (b-a))+ a + 1;通用公式:a + rand() % n;其中的a是起始值,n是整数的范围。要取得a到b之间的随机整数,另一种表示:a转载 2015-01-31 16:36:53 · 1103 阅读 · 0 评论 -
字符数组初始化
char *tmp[36] = { "0" };char *num[36] = { 0 };原创 2015-01-09 21:08:00 · 444 阅读 · 0 评论 -
WHU-Problem 1152 - Feli 的糖果 寻找第K小数(计数排序,与快速排序)
大数组最好作全局变量,否则内存不够,会出现段错误。计数排序比快速排序时间效率更高一些。计数排序:#includeint num[10000000], c[10000000];int main(){ int n, k; while (scanf_s("%d%d", &n, &k)!=EOF){ int max = 0; for (int i = 0; i原创 2015-01-31 16:28:48 · 1106 阅读 · 0 评论 -
WHU-关于Scanf_s 返回值的Hint
当输入结束时,试图使用scanf或getchar()进行输入,会返回EOF(stdio.h中的一个常量)。 背景知识:1. scanf 函数是有返回值的,它的返回值可以分成三种情况 1) 正整数,表示正确输入参数的个数。例如执行 scanf("%d %d", &a, &b); 如果用户输入"3 4",可以正确输入,返回2(正确输入了两个变量); 如果用户输入转载 2015-02-02 13:28:11 · 5116 阅读 · 0 评论 -
WHU-Problem 1004 - Noah's Ark
#include#include#include #include #define threshod 1e-9using namespace std;double change(double num, string c){ double k = 1.0; if (c=="meters")k = 100.0; if (c=="cubits")k = 45.72; if (c原创 2015-02-02 13:14:20 · 920 阅读 · 0 评论 -
WOJ-Problem 1010 - Alternate Sum
这一道题参考了其他人的博客分析,最后结果只与最大值有关,属于一道数学题。计算:MAX * 2^(n-1)即可。而题目中提示了数字可能会很大,需要求对20006的余数,所以每次乘2都可以对2006取模,这样可以保证数据范围不会超过。好了,代码:#include#define N 1005using namespace std;#define rep(i, n) for原创 2015-02-16 10:08:09 · 1494 阅读 · 0 评论 -
【WOJ-1420-可见点】采用数论知识求互质对
题目来源: http://acm.whu.edu.cn/learn/problem/detail?problem_id=1420代码:#include#includeusing namespace std;vector frac;int m, n;long long int ans=0;void bfs(int step, int fraci, int tol,原创 2015-01-02 10:47:53 · 810 阅读 · 0 评论 -
WOJ-Problem 1014 - Doraemon?s Flashlight
不明白为什么最后可以转换成求行列式?原创 2015-02-22 22:07:39 · 1306 阅读 · 0 评论 -
WOJ-Problem 1055 - The Hardest Problem Ever
#includestring c;getline(cin,c) 使用之前记得清除 getchar()原创 2015-02-22 22:53:08 · 1083 阅读 · 0 评论 -
WOJ-Problem 1011 - Finding Teammates
本题参考了解题索引,采用二分:若知F(1).....F(n) 求F(n+1)可以将n+1序列中最大的那个数抽调出来,先固定它的位置,然后采用二分法依次求解。(暂且用n+1来表示最大的那个数) n+1一定在某一组的最后面,设它在的组是第x组(不包含F(n+1) = F(3*x-1)*F(n+1-3*x)*C(n,3*x-1)注意当(n+1)%3==2时,还需要加上F(n)原创 2015-02-17 10:42:13 · 2449 阅读 · 0 评论 -
WOJ-Problem 1098 - Dongfangxu&zap
#include#include#includeusing namespace std;int main(){ char* ss[2] = {"dongfangxu", "zap"}; int next[2] = {10, 3}; int k; cin >> k; for (int h = 0; h < k; h++){ string t; cin >> t; i原创 2015-01-25 13:17:26 · 1355 阅读 · 0 评论 -
WOJ-1100
字符串遍历与c++ string数组的使用#include#include#includeusing namespace std;int main(){ char* ss[8] = {"littleken", "knuthocean", "dongfangxu", "zap", "kittig", "robertcui", "forest", "flirly" }; char转载 2015-01-25 10:27:52 · 1106 阅读 · 0 评论 -
C++ 之无穷大
#include#includeusing namespace std;int main(){ int a = ~0 >> 1; cout << a << endl;}原创 2015-02-02 13:38:43 · 16299 阅读 · 0 评论 -
WOJ-Problem 1009 - The Legend of Valiant Emigration
#include#include#include#define N 105#define INF 0x7fffffff#define mcv(a, v) memset(a, v, sizeof(a))#define rep(i, n) for (int i = 0; i < (n); ++i)#define repd(i,n) for (int i=(n);i>=0;i--)usi原创 2015-02-15 22:23:53 · 1301 阅读 · 0 评论 -
mergesort
#include#define rep(i, n) for(i=0;i<n;i++)#define repi(i,l,r) for(i=l;i<=r;i++)using namespace std;void mergesort(int l, int r);void merge(int l, int m, int r);int a[100005];int b[100005];int原创 2015-10-06 14:12:19 · 502 阅读 · 0 评论 -
用快排思路解决逆序对问题
#include#include#define rep(i, n) for(i=0;i<n;i++)#define repi(i,l,n) for(i=l;i<=r;i++)using namespace std;void quicksort(int l, int r);int a[100];int b[100];int hit;int main(){ int i, k;原创 2015-10-06 16:29:06 · 2225 阅读 · 2 评论 -
POJ 2386
http://poj.org/problem?id=2386经典的dfs搜索入门题,程序简洁漂亮#includeusing namespace std;int N, M;char field[105][105];void dfs(int i, int j) { field[i][j] = '.'; //八领域都有水 for(int l=-1;l<=1;l+原创 2016-06-30 11:13:16 · 641 阅读 · 0 评论 -
分治实现快排与归并排序
下面的java程序的两个函数实现了快排与归并排序public class Algorithm { public static void quickSort(int[] num, int i, int j){ if(i<j){ int q = i-1; int k = num[j]; for(int h = i; h<=j; h++){ if(n原创 2017-02-04 15:46:34 · 527 阅读 · 0 评论 -
Leetcode 枚举 46. Permutations Leetcode 60
链接 :Leetcode 46 依然是分而治之的思想,将大问题转化为小问题进行处理。注意: 边界条件,采用迭代形式写函数时需要注意迭代出口的设计但这个版本效率不是很高import java.util.ArrayList;import java.util.List;public class Solution { public static void main(原创 2017-02-07 16:31:22 · 326 阅读 · 0 评论 -
Leetcode61 rotate list
Leetcode 61 注意:循环时需要取模/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */public class S原创 2017-02-08 15:12:19 · 319 阅读 · 0 评论 -
Leetcode 100 sametree
Leetcode 100 sametree 简单题 分治策略/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x)原创 2017-02-08 15:26:14 · 333 阅读 · 0 评论 -
Leetcode 92. Reverse Linked List II
Leetcode 92. Reverse Linked List II链表转置 插入链表时注意更改链表指针的顺序/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val原创 2017-02-08 16:52:07 · 406 阅读 · 0 评论 -
Leetcode 494. Target Sum
Leetcode 494. Target Sum典型动态规划题目,一刷时间分布如下:public class Solution { public int findTargetSumWays(int[] nums, int S) { int len = nums.length; int ways = countWays(nums,0原创 2017-02-09 10:34:10 · 605 阅读 · 0 评论 -
找第K小个数
快排进行划分:import java.util.ArrayList;import java.util.Arrays;import java.util.List;public class Solution { public static void main(String[] args){ int[] nums = {2,4,3,6,1,5}; Solution s =原创 2017-02-17 15:42:02 · 392 阅读 · 0 评论 -
Leetcode 399. Evaluate Division
Leetcode 399. Evaluate Division"a"-(2)->"b""b"-(1/2)-->"a"-(3)->"c"深度优先搜索:import java.util.ArrayList;import java.util.HashMap;import java.util.HashSet;import java.util.Set;public原创 2017-02-18 09:35:00 · 357 阅读 · 0 评论 -
Leetcode 62. Unique Paths
题目链接: Leetcode 62. Unique Paths代码:public class Solution { public int uniquePaths(int m, int n) { m--; n--; int c; if(m<n){ c=m;原创 2017-02-09 17:15:43 · 219 阅读 · 0 评论 -
Leetcode 368. Largest Divisible Subset
题目链接: Leetcode 368. Largest Divisible Subset 与求最大全联通子集同构?动态规划问题。import java.util.ArrayList;import java.util.Arrays;import java.util.List;public class Solution { public List la原创 2017-02-09 23:53:06 · 313 阅读 · 0 评论 -
java ArrayList 排序
class SortByString implements Comparator { public int compare(String s1, String s2) { //return o1.length()-o2.length(); int flag = -1; int min = s1.length()<s2.length()?s1.length():原创 2017-02-18 22:09:01 · 373 阅读 · 0 评论 -
Leetcode 332. Reconstruct Itinerary
Leetcode 332. Reconstruct Itinerarydfs: 熟悉深度优先搜索的代码结构,回溯+递归import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.HashMap;import java.ut原创 2017-02-18 21:52:31 · 482 阅读 · 0 评论 -
Leetcode 458. Poor Pigs
public class Solution { public int poorPigs(int buckets, int minutesToDie, int minutesToTest) { if(buckets==1) return 0; if(buckets==2) return 1; int times = minutesToTest/minu原创 2017-02-10 11:52:50 · 1207 阅读 · 0 评论 -
草稿:Leetcode 310. Minimum Height Trees
这个思路是先构建一个树,然后不断地移动根节点的子节点到根节点的位置,但这个过程中需要实现的部分感觉很多,写了一半写不下去了,下面是未完成的草稿import java.util.ArrayList;import java.util.LinkedList;import java.util.List;import java.util.Queue;import java原创 2017-02-19 11:48:34 · 275 阅读 · 0 评论