摘要:
两种货币的交换可以当成两条边,建图后跑Bellman_ford算法就好了。 Bellman_ford算法可以用来处理负边权,所以可以判断是否存在负环。反过来就可以判断是否存在正环。 1 /*------------------------------------------------------- 阅读全文
摘要:
大数阶乘 题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=28 1 import java.io.*; 2 import java.util.*; 3 import java.math.*; 4 //import java.text.*; 阅读全文
摘要:
注意只有一个素因子的情况。 1 #include <cstdio> 2 #include <algorithm> 3 #include <cstring> 4 5 using namespace std; 6 7 typedef long long ll; 8 const int INF = 0x3 阅读全文
摘要:
打表输出前100之后,找到规律。 不过正确规律是1<<(二进制中1的个数)。 1 #include <cstdio> 2 #include <algorithm> 3 4 using namespace std; 5 6 7 int C[100][100]; 8 9 void pnt_bit(int 阅读全文
摘要:
刚看到这个题的想法是建图搜路,写出来了才发现这个做法不行,不能把每一个矩形看成不可分的点,因为最终的矩形可能两条边出现在不同矩形里。 后来看了题解才明白直接暴力就行。关键是明白最终的矩形两条边都在所给矩形中出现。 1 #include <cstdio> 2 #include <algorithm> 阅读全文
摘要:
模拟黄金矿工这个游戏,给出每一个金子的位置和所需时间,计算在给定时间内最大收益。 刚看这道题以为金子的位置没什么用,直接DP就行,WA了一发终于明白如果金子和人共线的话只能按顺序抓。 这就是需要考虑先后关系问题。看了背包⑨讲之后以为是“有依赖关系的背包”,感觉解决方案很不明显,想不出来做法。 后来想 阅读全文
摘要:
记忆化数组记录从这个点的最长下降序列,然后乘以这个点的度,就是ans,维护即可。 #include <cstdio> #include <cstring> #include <algorithm> using namespace std; const int maxn = 1e5+10; const 阅读全文
摘要:
水题 1 #include <cstdio> 2 #include <algorithm> 3 4 using namespace std; 5 6 int N,M,save[1000]; 7 8 int main() 9 { 10 scanf("%d%d",&N,&M); 11 for(int i 阅读全文
摘要:
有m盘菜,每盘有一个开始时间和结束时间,必须每盘都吃同样的时间。问最多能吃多久。 二分答案,然后用一个优先队列维护当前时间内的菜,然后每次都吃结束时间最小的那盘。 1 #include <cstdio> 2 #include <algorithm> 3 #include <cstring> 4 #i 阅读全文
摘要:
一共左右两排共2N盏灯,计算每排都亮M盏以上的期望。每天每盏灯有P的概率点亮。 dp[i][j]记录左边i盏右边j盏时的期望,从dp[N][N]往前推。//没学概率论写的好懵逼。 1 #include <cstdio> 2 #include <cstring> 3 #include <iostrea 阅读全文