随笔分类 - 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
阅读全文
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 -->
阅读全文
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
阅读全文
POJ 1321 棋盘问题(DFS)
摘要:POJ 1321 棋盘问题 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 61641 Accepted: 29503 Description 在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的
阅读全文
Consecutive Subsequence CodeForces - 977F(dp)
摘要:Consecutive Subsequence CodeForces - 977F 题目大意:输出一序列中的最大的连续数列的长度和与其对应的下标(连续是指 7 8 9这样的数列) 解题思路: 状态:把dp[i]定义为数列末尾为 i 的最大连续数列的长度值 状态转移方程:dp[i] = dp[i-1]
阅读全文
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
阅读全文
nyoj-0737-石子合并(dp)
摘要:nyoj-0737-石子合并 题意:有N堆石子排成一排,每堆石子有一定的数量。现要将N堆石子并成为一堆。合并的过程只能每次将相邻的两堆石子堆成一堆,每次合并花费的代价为这两堆石子的和,经过N-1次合并后成为一堆。求出总的代价最小值。 分析:动态规划 状态定义:dp[i[[j] = 把第i堆到第j堆并
阅读全文
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]); 代码:
阅读全文
nyoj-0613-免费馅饼(dp)
摘要:nyoj-0613-免费馅饼 G. 免费馅饼 都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼。说来gameboy的人品实在是太好了,这馅饼别处都不掉,就掉落在他身旁的10米范围内。馅饼如果掉在了地上当然就不能吃了,所以gameboy马上卸下身上的背包去接。但
阅读全文
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),一共
阅读全文
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
阅读全文
三点顺序(计算几何)
摘要:坐标中给出三点,求顺时针或逆时针 分析:利用矢量叉积判断是逆时针还是顺时针。 设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
阅读全文
三角形面积(计算几何)
摘要:海伦公式:S = sqrt((l - a) * (l - b) * (l - c));其中l = (a + b + c) / 2;
阅读全文
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
阅读全文
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 分析:在做的时候
阅读全文
01背包问题之2(dp)
摘要:01背包问题之2 有n个物品,重量和价值分别为wi和vi,从这些物品中挑选出重量不超过W的物品,求所有挑选方案中物品价值总和的最大值 限制条件: 1 <= n <= 100; 1 <= wi<= 10^7; 1 <= vi <= 100; 1 <= W <= 10^9; 分析:数据量更大,之前求解该
阅读全文
普通01背包问题(dp)
摘要:有n个物品,重量和价值分别为wi和vi,从这些物品中挑选出重量不超过W的物品,求所有挑选方案中物品价值总和的最大值 限制条件: 1 <= n <= 100; 1 <= wi,vi <= 100; 1 <= W <= 10000; 分析:经典的01背包问题 状态:dp[i][j] = 前i个物品中挑选
阅读全文
动态规划-最长单调递增子序列(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
阅读全文
POJ 1006 生理周期(中国剩余定理)
摘要:POJ 1006 生理周期 分析:中国剩余定理(注意结果要大于d即可) 代码:
阅读全文
PAT-GPLT训练集 L1-039 古风排版
摘要:PAT-GPLT训练集 L1-039 古风排版 注意:在输入字符串时,最后一个字符为'\0', 虽然输出时显示为空格,但是系统检查为‘\0’!!! 代码:
阅读全文
浙公网安备 33010602011771号