随笔分类 -  Algorithm

POJ 1001 Exponentiation(大数运算)
摘要:POJ 1001 Exponentiation 时限:500 ms 内存限制:10000 K 提交材料共计: 179923 接受: 43369 描述:求得数R( 0.0 < R < 99.999 )的n( 0 < n <= 25 )次方的精确值 样本输入 样本输出 分析:题中R的n次方远大于doub 阅读全文
posted @ 2018-07-05 21:50 kindleheart 阅读(184) 评论(0) 推荐(0)
hdu 2065 "红色病毒"问题(快速幂求模)
摘要:n=1 --> ans = 2 = 1*2 = 2^0(2^0+1) n=2 --> ans = 6 = 2*3 = 2^1(2^1+1) n=3 --> ans = 20 = 4*5 = 2^2(2^2+1) n=4 --> ans = 72 = 8*9 = 2^3(2^3+1) n=k --> 阅读全文
posted @ 2018-06-15 23:56 kindleheart 阅读(150) 评论(0) 推荐(0)
POJ 2251 Dungeon Master(BFS)
摘要:POJ 2251 Dungeon Master Description You are trapped in a 3D dungeon and need to find the quickest way out! The dungeon is composed of unit cubes which 阅读全文
posted @ 2018-05-28 22:03 kindleheart 阅读(162) 评论(0) 推荐(0)
POJ 1321 棋盘问题(DFS)
摘要:POJ 1321 棋盘问题 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 61641 Accepted: 29503 Description 在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的 阅读全文
posted @ 2018-05-28 21:55 kindleheart 阅读(155) 评论(0) 推荐(0)
Consecutive Subsequence CodeForces - 977F(dp)
摘要:Consecutive Subsequence CodeForces - 977F 题目大意:输出一序列中的最大的连续数列的长度和与其对应的下标(连续是指 7 8 9这样的数列) 解题思路: 状态:把dp[i]定义为数列末尾为 i 的最大连续数列的长度值 状态转移方程:dp[i] = dp[i-1] 阅读全文
posted @ 2018-05-21 23:17 kindleheart 阅读(143) 评论(0) 推荐(0)
Cyclic Components CodeForces - 977E(DFS)
摘要:Cyclic Components CodeForces - 977E You are given an undirected graph consisting of nn vertices and mm edges. Your task is to find the number of conne 阅读全文
posted @ 2018-05-21 21:17 kindleheart 阅读(264) 评论(0) 推荐(0)
nyoj-0737-石子合并(dp)
摘要:nyoj-0737-石子合并 题意:有N堆石子排成一排,每堆石子有一定的数量。现要将N堆石子并成为一堆。合并的过程只能每次将相邻的两堆石子堆成一堆,每次合并花费的代价为这两堆石子的和,经过N-1次合并后成为一堆。求出总的代价最小值。 分析:动态规划 状态定义:dp[i[[j] = 把第i堆到第j堆并 阅读全文
posted @ 2018-05-02 15:48 kindleheart 阅读(133) 评论(0) 推荐(0)
nyoj-0708-ones(dp)
摘要:nyoj-0708-ones 题意:用1,+,*,(,). 这四个符号组成表达式表达数s(0 <= s <= 10000),且1最少时1的的个数 状态转移方程: dp[i] = min(dp[i-1] + 1, dp[j] + dp[i-j]); 代码: 阅读全文
posted @ 2018-04-28 20:01 kindleheart 阅读(110) 评论(0) 推荐(0)
nyoj-0613-免费馅饼(dp)
摘要:nyoj-0613-免费馅饼 G. 免费馅饼 都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼。说来gameboy的人品实在是太好了,这馅饼别处都不掉,就掉落在他身旁的10米范围内。馅饼如果掉在了地上当然就不能吃了,所以gameboy马上卸下身上的背包去接。但 阅读全文
posted @ 2018-04-28 15:30 kindleheart 阅读(183) 评论(0) 推荐(0)
nyoj-0469-擅长排列的小明 II(找规律)
摘要:nyoj-0469-擅长排列的小明 II 思路:递推分析:为了简便起见,我们用Ai代表第i个数字 , 由于A1一直是1,所以A2只能是2或3。假设dp[n]表示1->n这个序列的方案数 1.当A2=2时,从A2到An的排列(2~n)相当于从A1到An-1的排列(1~n-1)(把每个数字都加1),一共 阅读全文
posted @ 2018-04-27 23:28 kindleheart 阅读(146) 评论(0) 推荐(0)
nyoj 0325 zb的生日(dp)
摘要:nyoj 0325 zb的生日 zb的生日 时间限制:3000 ms | 内存限制:65535 KB 难度:2 zb的生日 时间限制:3000 ms | 内存限制:65535 KB 难度:2 1 #include <stdio.h> 2 #include <string.h> 3 #define m 阅读全文
posted @ 2018-04-27 19:03 kindleheart 阅读(225) 评论(0) 推荐(0)
三点顺序(计算几何)
摘要:坐标中给出三点,求顺时针或逆时针 分析:利用矢量叉积判断是逆时针还是顺时针。 设A(x1,y1),B(x2,y2),C(x3,y3),则三角形两边的矢量分别是: AB=(x2-x1,y2-y1), AC=(x3-x1,y3-y1) 则AB和AC的叉积为:(2*2的行列式) |x2-x1, y2-y1 阅读全文
posted @ 2018-04-27 14:14 kindleheart 阅读(609) 评论(0) 推荐(0)
三角形面积(计算几何)
摘要:海伦公式:S = sqrt((l - a) * (l - b) * (l - c));其中l = (a + b + c) / 2; 阅读全文
posted @ 2018-04-27 14:09 kindleheart 阅读(343) 评论(0) 推荐(0)
nyoj 0269 VF(dp)
摘要:nyoj 0269 VF 意思大致为从1-10^9数中找到位数和为s的个数 分析:利用动态规划思想,一位一位的考虑,和s的范围为1-81 状态定义:dp[i][j] = 当前所有i位数的和为j的个数 除了最高位的取值为1-9(最高位不能为0),其余位的取值都为0-9,所有我们可以最开始初始化dp[1 阅读全文
posted @ 2018-04-26 23:33 kindleheart 阅读(171) 评论(0) 推荐(0)
nyoj 1091 还是01背包(超大数dp)
摘要:nyoj 1091 还是01背包 描述 有n个重量和价值分别为 wi 和 vi 的物品,从这些物品中挑选总重量不超过W的物品,求所有挑选方案中价值总和的最大值 1 <= n <=40 1 <= wi <= 10^15 1 <= vi <= 10^15 1 <= W <= 10^15 分析:在做的时候 阅读全文
posted @ 2018-04-17 23:05 kindleheart 阅读(299) 评论(0) 推荐(0)
01背包问题之2(dp)
摘要:01背包问题之2 有n个物品,重量和价值分别为wi和vi,从这些物品中挑选出重量不超过W的物品,求所有挑选方案中物品价值总和的最大值 限制条件: 1 <= n <= 100; 1 <= wi<= 10^7; 1 <= vi <= 100; 1 <= W <= 10^9; 分析:数据量更大,之前求解该 阅读全文
posted @ 2018-04-17 22:49 kindleheart 阅读(191) 评论(0) 推荐(0)
普通01背包问题(dp)
摘要:有n个物品,重量和价值分别为wi和vi,从这些物品中挑选出重量不超过W的物品,求所有挑选方案中物品价值总和的最大值 限制条件: 1 <= n <= 100; 1 <= wi,vi <= 100; 1 <= W <= 10000; 分析:经典的01背包问题 状态:dp[i][j] = 前i个物品中挑选 阅读全文
posted @ 2018-04-17 22:30 kindleheart 阅读(188) 评论(0) 推荐(0)
动态规划-最长单调递增子序列(dp)
摘要:最长单调递增子序列 解题思想:动态规划 1.解法1(n2) 状态:d[i] = 长度为i+1的递增子序列的长度 状态转移方程:dp[i] = max(dp[j]+1, dp[i]); 分析:最开始把dp数组初始化为1,然后从前往后考虑数列的元素,对于每个aj,如果a[i] > a[j],就用dp[i 阅读全文
posted @ 2018-04-16 23:04 kindleheart 阅读(8536) 评论(0) 推荐(0)
POJ 1006 生理周期(中国剩余定理)
摘要:POJ 1006 生理周期 分析:中国剩余定理(注意结果要大于d即可) 代码: 阅读全文
posted @ 2018-04-09 16:52 kindleheart 阅读(199) 评论(0) 推荐(0)
PAT-GPLT训练集 L1-039 古风排版
摘要:PAT-GPLT训练集 L1-039 古风排版 注意:在输入字符串时,最后一个字符为'\0', 虽然输出时显示为空格,但是系统检查为‘\0’!!! 代码: 阅读全文
posted @ 2018-03-29 12:31 kindleheart 阅读(146) 评论(0) 推荐(0)