CSP认证
自由的犇儿哥
这个作者很懒,什么都没留下…
展开
-
1246
解题思路 我们只考虑S=1S=1S=1和S=2S=2S=2的情况,最终可以得到96分的分数。 显然,第nnn秒钟序列中的数字分布情况与第n−1n-1n−1秒钟序列中的数字的分布情况是紧密相关的,我们可以根据这一点建立转移矩阵,使用快速幂算法完成矩阵的连续乘法,我们通过矩阵的连乘的方式方式来模拟时间的推移过程。 以上思路来自于Acwing #include<cstdio> #include<iostream> #include<cstring> #include<原创 2021-03-27 20:37:16 · 154 阅读 · 0 评论 -
权限查询
题目链接 这道题一开始我想用map表存储数据,后来才意识到这是一种错误的想法。过多的map会大大增加编程的复杂度。参考题目中给出的最多只有一百个权限、一百个角色和一百个用户名,所以这道题最理想的做法是用遍历穷举的方式一个一个去找。 100分代码如下,存在一定的冗余但是并不影响最后的效果。 #include <iostream> #include <map> #include <vector> #include<cstdio> #include<queue原创 2020-12-11 15:38:51 · 237 阅读 · 0 评论 -
CSP认证有趣的(2013)
题目链接 递推的思想 我们将每填入一个数时,答案所面临的状态进行划分,实际上可以分为六种状态 目前只出现过 2 目前只出现过 2 0 目前只出现过 2 3 目前只出现过 2 0 1 目前只出现过 2 0 3 目前只出现过 2 0 1 3 在位置iii上每填入一个数都意味着状态的一次转移 for (int i = 1; i <= n; i++) { a[i][0] = 1;//目前为止只出现过2 情况只有一种 a[i][1] = (a[i - 1][0] + 2 * a[i - 1][1]原创 2020-12-10 18:10:14 · 165 阅读 · 0 评论