「模拟8.23」阴阳 DP】的更多相关文章

对于此题的性质我们考虑DP 分四种情况 黑色块在右侧单调降,单调升 还有在左侧 另外我们这样可能会记重,所以还要将重复记过的也就是边界线是横的和竖的 然后还要将全白全黑加上 1 #include<bits/stdc++.h> 2 #define MAXN 2100 3 #define int long long 4 using namespace std; 5 int f[5][MAXN][MAXN]; 6 int sum[5][MAXN][MAXN]; 7 int n,m; 8 const…
前置芝士约瑟夫问题 这样大概就是板子问题了 考场的树状数组+二分的60分暴力??? 1 #include<bits/stdc++.h> 2 #define int long long 3 #define MAXN 11000001 4 int c[MAXN]; 5 int lowbit(int x){return x&(-x);}int n; 6 void add(int x,int k) 7 { 8 for(int i=x;i<=n;i+=lowbit(i)) 9 { 10 c…
题目描述 小火车虽然很穷,但是他还是得送礼物给妹子,所以他前往了二次元寻找不需要钱的礼物. 小火车准备玩玩二次元的游戏,游戏当然是在一个二维网格中展开的,网格大小是\(n\times m\)的,某些格子是好的,其余的则是不好的.每次你可以选择最底层(也就是第\(n\)层)的某两个相邻的列,并消掉最底下的至多三个格子,并且这两列都得有格子被消掉(也就是\(L\)型或者反着的\(L\)型),消掉格子以后上面的格子会掉落下来.当然最上面的空位会用不好的格子填满. 小火车想得到所有的好格子送给妹子,请问…
题目描述 Yasuo 和Riven对一排\(n\)个假人开始练习.斩杀第\(i\)个假人会得到\(c_i\)个精粹.双方轮流出招,他们在练习中互相学习,所以他们的剑术越来越强.基于对方上一次斩杀的假人数量\(k\),可以斩杀掉剩余假人中位置最靠前的\([1,2k]\)范围内数量的连续假人.最初Yasuo先出招,斩杀\(1\)或\(2\)个假人.Yasuo偷偷把你叫到一边,问在双方都采取最优策略的情况下, 他最多能够获取多少精粹. 输入 第一行一个正整数\(n\),表示假人的个数. 接下来\(n\…
题目描述 将\(n\times n\)的网格黑白染色,使得不存在任意一行.任意一列.任意一条大对角线的所有格子同色,求方案数对\(998244353\)取模的结果. 输入 一行一个整数\(n\). 输出 一行一个整数表示答案对\(998244353\)取模的值. 样例 样例输入 3 样例输出 32 数据范围 对于\(100\%\)的数据,\(1\leq n\leq 300\). 比第一题难了不知道多少-- 这种东西怎么看都是容斥嘛. 我们先考虑对角线没有限制的情况: 枚举行和列有多少个是同色的,…
题目描述 给一个\(n\times m\)的网格,每个格子上有一个小写字母. 对于所有从左上角\((1,1)\)到右下角\((n,m)\)只向下或向右走的路径构成的集合,判断是否存在两条走法不同的路径,使得把它们经过的格子上的字母按顺序记下来得到的序列完全相同. 输入 第一行一个整数\(T\)表示数据组数,对于每组数据: 第一行两个整数\(n,m\): 接下来\(n\)行,每行一个长度为\(m\)的字符串表示网格的每一行. 输出 对于每组数据,输出一行\(Yes\)或\(No\)表示是否存在这样…
暴力: 正解: 考虑循环矩阵,f[i][j]表示从i点到j点的方案数 我们发现n很小,我们预处理出n次的f[i][j] 然后在矩阵快速幂中,我们要从当前的f[i][j]*f[j][k]-->fir[i][j] 但是此时的循环为三层 我们考虑转移式子的意义在0-n次从i-j,在n+1到2×n转移至j 这样此时的j-k其实可以把他看作从0开始走j-k步本质上是一样的 然后还有一个特判,就不讲了 for(int j=0;j<n;++j) { ff[now][j]=(ff[now][j]+ff[las…
2021升级版SpringCloud教程从入门到实战精通「H版&alibaba&链路追踪&日志&事务&锁」 教程全目录「含视频」:https://gitee.com/bingqilinpeishenme/Java-Wiki 通过IDEA模拟集群 在IDEA中,一个项目可以同时在多个端口号运行.例如:商品服务可以在8803运行一次,同时也可以再次启动在8805端口号,只不过需要在IDEA中配置,这样的方式叫做IDEA多实例运行. IDEA默认项目运行时单例,即一个项目…
题目描述 回忆树是一棵树,树边上有小写字母. 一次回忆是这样的:你想起过往,触及心底--唔,不对,我们要说题目. 这题中我们认为回忆是这样的:给定 \(2\) 个点 \(u,v\) (\(u\) 可能等于 \(v\))和一个非空字符串 \(s\) ,问从 \(u\) 到 \(v\) 的简单路径上的所有边按照到 \(u\) 的距离从小到大的顺序排列后,询问边上的字符依次拼接形成的字符串中给定的串 \(s\) 出现了多少次. 输入 第一行 \(2\) 个整数,依次为树中点的个数 \(n\) 和回忆的…
老大 题目描述 因为 OB 今年拿下 4 块金牌,学校赞助扩建劳模办公室为劳模办公室群,为了体现 OI 的特色,办公室群被设计成了树形(n 个点 n − 1 条边的无向连通图),由于新建的办公室太大以至于要将奖杯要分放在两个不同的地方以便同学们丢硬币进去开光,OB 想请你帮帮他看看奖杯放在哪两个办公室使得在任意一个在劳模办公室做题的小朋友能最快地找到奖杯来开光. 一句话题意:给出一个 n 个点的树,在两个合适且不同的点放上奖杯,使得每个点到最近的奖杯距离最大值最小. 输入 第一行,一个整数 n.…