
进阶指南
wanderist.
……
展开
-
进阶指南IncDec Sequence
一道典型的差分+贪心首先我们来了解一下差分的原理差分是前缀和的逆运算,差分数组往往是这样定义的:b[i]=b[i]-b[i-1]b[1]=a[1];根据这个定义我们可以看出,如果b[i]=b[i-1]那么差分序列的值就会是0.有因为b[1]=a[1].所以如果从2到末尾的差分序列的值都为0,那么序列中的所有数就都一样了。题目中的把所有数都变成一样就变为了,把从0到末尾的差分序列全部变成0.既然如此,我们如何求得最少的操作次数呢?我们可以以0为分界线,把整个差分序列分成正负两种情况(因为值为.原创 2020-07-23 12:12:08 · 671 阅读 · 0 评论 -
激光炸弹
这个题我本来写对了,但是提交后就是有一个case点过不了,看了别人的代码,才知道要注意这样几个细节。1.同一个坐标上可能会有两个目标,所以在处理读入的时候要写+=2.如果给定坐标中的最大值<爆炸范围r,那么最后更新ans的循环就不会进行,从而输出0.所以,坐标的范围最少也应该是r。3.(这一点我注意到了),因为在递推区间和的时候需要-1操作,而本题中的坐标又是从0开始的。所以应该把所有的坐标都在读入时+1,防止数组越界。接下来是思路分析:在一个2维的坐标系中,求一个2维区间的和,很轻易便能想原创 2020-07-22 15:44:36 · 79 阅读 · 0 评论 -
进阶指南004
看到数据范围就知道,这道题肯定是状压dp(纯暴力做法肯定会超时)设状态dp[i][j] i表示当前走过的点的集合, j表示当前停在了哪个点?这个状态该如何转移呢?显然:可以用floyed得算法思路,不断枚举中间界限来尝试松弛操作。但需要注意的是:** 集合i中必须要包含k 否则该状态就是不合法的(因为如果当前在的点是k点,那么我就肯定走过k点)**按照刚才的思路,如果i中不包含j,那么该状态也是不合法的。即:12if (i>>j&1)continue;这里着重解释.原创 2020-07-22 11:45:40 · 86 阅读 · 0 评论 -
进阶指南003
64位整数乘法 本题位快速幂思想的一个简单应用:简单来说就是,既然我们可以用快速幂...原创 2020-07-22 11:33:36 · 88 阅读 · 0 评论 -
进阶指南002
因为不是中文题,这里给出大致题意。输入一个数T表示有T组测试数据,每组测试数据中先输入一个数mod表示用来取模的数。再输入一个数n表示接下来会后n组数。接下来输入n个a和b,表示a的b次幂。对于每组测试数据,输出这n个a的b次幂之和%mod的值。仍然是一道快速幂的题目。注意数据要开long long 还有答案res再每次循环中都要恢复成0#include<cstdio>#include<iostream>typedef long long ll;using name..原创 2020-07-21 18:01:59 · 149 阅读 · 0 评论 -
进阶指南001
进阶指南刷题日志,这里的进阶指南题目是从牛客网上刷的。本人也是一个菜鸡,如果有错误的欢迎指出。这是一道十分裸的题目,第一眼就应该能看出这道题考察的时快速幂。快速幂的原理就不赘述了。这里给出...原创 2020-07-21 17:53:32 · 119 阅读 · 0 评论