分类: 未分类

544 篇文章

P5664 Emiya 家今天的饭
Miku 这个题很显然的可以从部分分推到正解 64 上去就是一个四维dp,dp[i][j][k][z]表示在第1行的时候第一行选了j个,第2行选了k个,第3行选了z个的 情况下的方案数,转移用手就能推。 只是有个小细节 #include<iostream> #include<cstdio> #include<algor…
P3944 肮脏的牧师
Miku 能够把自己的复杂的想法实现出来当然好 但是即使是一个复杂的,自以为正确的错误想法?? (被卡了半年有感) #include<iostream> #include<cstdio> using namespace std; int simex[30010]; int bo; int at[4]; int n,m; in…
P1233 木棍加工
Miku 很简单的线性dp 或者说不用dp 有两维,随便按照一维降序排个序,就成了个固定顺序的一维问题了。 直接$O(n^2)$贪心划分不下降子序列或者说运用dilworth定理,求最长上升子序列 贪心更快诶,可能是因为continue的多? dp #include<iostream> #include<cstdio> #i…
P4017 最大食物链计数
Miku 很水的拓扑排序+dp 看错题除外。 这道题是要求有多少条食物链满足 左端是不会捕食其他生物的生产者,最右端是不会被其他生物捕食的消费 不是求最长的多长或者有几条最长!! (把一些无关紧要的变量起一些人名真有意思) #include<iostream> #include<queue> using namespace …
P1287 盒子与球
MIku 这是一道数学题,可以推式子(我推错了) 这是一道dp,完全没想到它是。 所以说我把我的错误式子缝缝补补,加上个dfs 过了。 大体思想就是利用插板法求出每个盒子可以装几个球的方案, 然后因为同一个盒子内部的球是无序的,所以说用一点点排列的知识加上dfs的框架处理一下,然后就过了 #include<iostream> #incl…
P4942 小凯的数字
Miku 10的任何次方mod9都是1 所以说事实上就是把l到r加起来而已 然后等差数列求和即可 2在mod9意义下的逆元是5 #include<cstdio> #include<cstring> #include<algorithm> #include<iostream> using namespa…
P1002 过河卒
所谓年轻,就是意识不到自己的年轻 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; unsigned long long n,m; unsigned long l…
P1802 5倍经验日
Miku 很水的一个背包 #include<iostream> #include<cstring> #include<algorithm> #define int long long using namespace std; int n,k; int Ariche[1001][1001]; int lo[1001…
P3629 [APIO2010]巡逻
Miku 很好的坑题,务必注意因为负边权和求路径的问题,这里需要同时用到两种方法,搜索和dp。 对于原来的情况,事实上就是每一条边都要走两次,(毕竟你还要回来啊) 但是你要是建了一条边,就会形成一个环,那么这辆车就可以直接走回去了(沿着这个圈回到出发点,也就是说,少了一条边长度的距离) 那么怎么搞呢,当然是Ko no 直径啊 建第二条边怎么搞呢?倘…
P3111 [USACO14DEC]Cow Jog S
Miku 推一个小式子就知道了 计算出最后的位置,然后从后往前比较。 #include<iostream> #include<cstdio> #include<algorithm> using namespace std; long long last[100001]; long long n,m; long l…