??
第一阶段:练经典常用算法,下面的每个算法给我打上十到二十遍,同时自己精简代码,
因为太常用,所以要练到写时不用想,10-15
分钟内打完,甚至关掉显示器都可以把程序打
出来.
1.最短路(Floyd、Dijstra,BellmanFord)
2.最小生成树(先写个
prim,kruscal 要用并查集,不好写)
3.大数(高精度)加减乘除...
ACMer
必备知识(这么多呀,慢慢学了……
图论
路径问题
0/1
边权最短路径
BFS
非负边权最短路径(Dijkstra)
(可以用 Dijkstra
解决问题的特征)
负边权最短路径
Bellman-Ford
Bellman-Ford
的 Yen...
http://acm.hdu.edu.cn/showproblem.php?pid=3790
有两个条件:距离和花费。首先要求距离最短,距离相等的条件下花费最小。
dijkstra,只是在判断条件时多考虑了花费。
注意重边。
#include
#include
#include
#include
#include
#include
#include
#incl...
Energy ConversionTime
Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 6795 Accepted Submission(s): 1642
Problem Description
魔法师百小度也有遇到难题的时候—— 现在,...
问题:
有N种物品和一个容量为V的背包。第i种物品最多有n[i]件可用,每件费用是c[i],价值是w[i]。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。
基本算法:
这题目和完全背包问题很类似。基本的方程只需将完全背包问题的方程略微一改即可,因为对于第i种物品有n[i]+1种策略:取0件,取1件……取n[i]件。令f[i][v]表示前i种物品恰...
题目大意:
让每天都能吃到西瓜。最少需要花多少钱。
思路分析:
dp[pos] 就表示 要让 前i天每天都有西瓜吃,最少需要花多少钱。
那么如果你买这个西瓜的话。那么这个西瓜能吃的持续时间都要更新一下。
然后再在每个西瓜的更新部分取最小的,就可以是这个点所能得到的最小值。
其实就是 dp[i] = min (dp[i] , dp[ j - k +1] + a[j]);...
??
Labyrinth
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 1173 Accepted Submission(s): 388
Problem Description
度度熊是一只喜欢探险的熊,一次偶...
给你一个n*n的格子的棋盘,每个格子里面有一个非负数。
从中取出若干个数,使得任意的两个数所在的格子没有公共边,就是说所取的数所在的2个格子不能相邻,并且取出的数的和最大。...
问题描述
利用字母可以组成一些美丽的图形,下面给出了一个例子:
ABCDEFG
BABCDEF
CBABCDE
DCBABCD
EDCBABC
这是一个5行7列的图形,请找出这个图形的规律,并输出一个n行m列的图形。
输入格式
输入一行,包含两个整数n和m,分别表示你要输出的图形的行数的列数。
输出格式
输出n...
【前言】快要省选二试了。上次去被虐出翔了~~这次即便...