摘要: 题目链接 题目大意 给你一个长为n的01串,要你进行最少的操作使得这01串变成全为0,求最少操作次数 有两种不同类型的操作 1:翻转一个前缀 2:单调翻转一个元素 题目思路 居然是一个dp,标程讲的很好,直接截图 代码 #include<set> #include<map> #include<que 阅读全文
posted @ 2020-09-26 20:33 hunxuewangzi 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目大意 给你一个长为n(n<=5e3)的数组a。随机使得k个元素增加d。要你求多大的概率使得,这些数组元素的相对大小不发生改变 输出 n 行每行一个整数,第 i 行的整数表示 k=i 时的答案 题目思路 看了题解觉得是一个不太难的dp,但有点难想到 令$dp[i][j][1]$ 表示为前 阅读全文
posted @ 2020-09-26 15:19 hunxuewangzi 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目大意 给出一个长度为n排列p 规定一个区间 [l,r] (l<=r) 是 fair 的,当且仅当区间中最小值等于 l 并且最大值等于 r 求 fair 区间的个数 题目思路 我不会正解 首先把每一个i值映射成$base^i$ 遍历一边全排列 然后每次加上base[a[i]]减去base 阅读全文
posted @ 2020-09-25 17:14 hunxuewangzi 阅读(187) 评论(2) 推荐(0) 编辑
摘要: 题目链接 题目大意 给你一个长为n(n<=1e5)的数组,让你求有多少对a[i]和a[j] (i!=j)满足a[i]&a[j]>a[i]^a[j] 题目思路 这些有关位运算的题目肯定是要把数字变成二进制的 在二进制中某一位的数只能是0或者1 0^0=0 0&0=0 0^1=1 0&1=0 1^0=1 阅读全文
posted @ 2020-09-25 10:44 hunxuewangzi 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目大意 给你n堆石子(n为偶数),两个人玩游戏,每次选取n/2堆不为0的石子,然后从这n/2堆石子中丢掉一些石子(每一堆丢弃的石子数量可以不一样,但不能为0),若这次操作中没有n/2堆不为0的石子则输 题目思路 本来以为是nim博弈打sg表什么的,结果其实是一个思维题 结论:如果最小堆的 阅读全文
posted @ 2020-09-24 20:16 hunxuewangzi 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目大意 给你一个长为n的数组a,要你构造一个非严格单调上升的数组b和一个非严格单调下降的数组c,使得$b_i+c_i=a_i$ 要你使这两个数组b,c中最大的元素最小,还有q次修改(q<=1e5),每次修改使[l,r]上的所有元素加x。在线查询 题目思路 看到这个区间操作,在线查询,就能 阅读全文
posted @ 2020-09-24 10:45 hunxuewangzi 阅读(103) 评论(0) 推荐(0) 编辑
摘要: 定义 巴什博弈:一堆物品有n个,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个。最后取光者得胜。 题目链接1 题目思路 这是一个裸的巴什博弈,但是数据为1<=n,m<=1000 显然很容易想到一个$n^2$的dp转移,如果一个状态只能转移到必胜态,那么这个状态就是必败态,否则就是必胜态 阅读全文
posted @ 2020-09-23 11:11 hunxuewangzi 阅读(444) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目大意 给你n个点(n<=2e5)要你求所有点中两个点最短的曼哈顿距离 曼哈顿距离定义为d(i,j)=|x1-x2|+|y1-y2|. 题目思路 想了很久也没有什么思路,其实就是一个简单的推公式 x1-x2与y1-y2如果同号,那么d(i,j)=abs(x1-x2+y1-y2)=abs( 阅读全文
posted @ 2020-09-20 22:32 hunxuewangzi 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目大意 多组输入,给你两个n×n的矩阵,要你求他们相乘%3的值 题目思路 这个题目主要是要了解内存访问连续化,要尽量每次访问连续的内存 所以第一种方法会超时,第二种则AC。一种卡常技巧 代码 #include<set> #include<map> #include<queue> #inc 阅读全文
posted @ 2020-09-11 22:00 hunxuewangzi 阅读(155) 评论(1) 推荐(0) 编辑
摘要: 1:建图注意是有向图还是无向图,无向开两倍数组 2:看题注意是否为多组输入,多组输入注意初始化。 3:减法取模一定要注意 4:stl中.size()为unsigned如果要计算注意强制类型转换(int) 5:scanf(" %c")之前如果不要读入空格要加上空格符 6:子序列和字串一定要注意区别 7 阅读全文
posted @ 2020-09-11 09:55 hunxuewangzi 阅读(168) 评论(0) 推荐(0) 编辑