摘要: \(gcd(x^a-1,x^b-1)=x^{gcd(a,b)}-1\) \((x>1,a,b>0)\) (HDU 2685) \(gcd(fib[m],fib[n])=fib[gcd(m,n)]\) \(lcm(ka,kb)=k*lcm(a,b)\) \(a>b,gcd(a,b)=1,则gcd(a^ 阅读全文
posted @ 2020-02-11 11:01 Zeronera 阅读(211) 评论(0) 推荐(0) 编辑
摘要: A类网络 A类网络地址10.0.0.0/8 子网掩码:255.224.0.0 子网1 子网号:10.0.0.0 最小ip:10.0.0.1 最大ip:10.31.255.254 广播地址:10.31.255.255 子网2 子网号:10.32.0.0 最小ip:10.32.0.1 最大ip:10.6 阅读全文
posted @ 2022-06-23 15:48 Zeronera 阅读(114) 评论(0) 推荐(0) 编辑
摘要: #include <iostream> #include <thread> #include <mutex> #include <chrono> #include <condition_variable> std::mutex mtx; std::condition_variable cv; boo 阅读全文
posted @ 2021-11-16 20:47 Zeronera 阅读(314) 评论(0) 推荐(0) 编辑
摘要: H 洪尼玛的保险箱 题意: 求两个字符串的公共子串个数,且该公共子串在第一个串中以奇数位置结尾,在第二个串中以偶数位置结尾 思路: 建广义后缀自动机后根据限制条件求出每个状态的$|endpos|$,统计答案即可 #include<cstring> #include<cstdio> #include< 阅读全文
posted @ 2021-05-02 21:35 Zeronera 阅读(64) 评论(0) 推荐(0) 编辑
摘要: E. Skyline Photo 题意: $n$个元素,每个元素有两个属性$h$和$b$,要求把这些元素划分为若干个子区间,每个子区间的价值为该区间内$h$最小的元素的$b$的值,求最优划分使得所有子区间价值之和最大 思路: 考虑一个$O(n^2)$的$dp$,$dp[i]$表示前$i$个元素的答案 阅读全文
posted @ 2021-04-29 20:25 Zeronera 阅读(76) 评论(0) 推荐(0) 编辑
摘要: D. Max Median 题意: 求所有长度不小于$k$的子区间中中位数最大值 思路: 二分答案,记当前答案为$x$,判断所有长度不小于$k$的子区间中是否存在中位数大于等于$x$的区间,即判断区间大于等于$x$的数的数量是否大于小于$x$的数的数量 #include<bits/stdc++.h> 阅读全文
posted @ 2021-02-19 19:08 Zeronera 阅读(47) 评论(0) 推荐(0) 编辑
摘要: Buy and Resell 题意: 有一个物品有$n$个价格,从$1$到$n$遍历,对于每个价格$a[i]$,可以花$a[i]$购买,或者把现在拥有的物品以$a[i]$的价格卖出赚取差价,或者什么都不做,问最终能获得的最大收益以及最大收益下的最小交易次数 思路: 遍历过程中维护一个集合,表示当前可 阅读全文
posted @ 2021-02-06 22:52 Zeronera 阅读(90) 评论(0) 推荐(0) 编辑
摘要: E. A Bit Similar 题意: 寻找长度为$k$且字典序最小的$01$串$t$,满足$01$串$s$的所有长度为$k$的子串均与$t$至少存在一个位置有相同的字符(位置需对应) 思路: $s$取反后取出所有长度为$k$的子串,则$t$除了这$n-k+1$个串都可以取,取字典序最小的即可 # 阅读全文
posted @ 2021-01-31 21:35 Zeronera 阅读(81) 评论(0) 推荐(0) 编辑
摘要: E. Nezzar and Binary String 题意: 两个$01$串$s$,\(f\),$q$个询问区间,每次询问之后可以修改询问的区间内不超过一半的字符,问能否做到每次询问的区间内字符相同(全$1$或全$0$)并且所有询问结束后$s$与$f$相同 思路: 倒着做,线段树维护区间赋值 #i 阅读全文
posted @ 2021-01-30 14:01 Zeronera 阅读(81) 评论(0) 推荐(0) 编辑
摘要: 区间选点问题 $n$个闭区间$[a_i,b_i]$,选择尽量少的点,使得每个区间至少有一个点 按右端点升序排序,每次选点尽量选择当前区间靠右的点以照顾到更多的区间 所以排序后第一个区间的右端点是一定会选的,然后向后遍历区间直到这个点不在某个区间上 更新点为这个区间的右端点 int ans = 1, 阅读全文
posted @ 2020-12-19 15:55 Zeronera 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 题意: 一个凸多边形和$m$个光源,问最少选择几个光源使得多边形所有边都被照亮 思路: 对于每个光源,处理出能照到的边,即为区间完全覆盖问题,但是区间是环形的,枚举起点处理 #include <bits/stdc++.h> using namespace std; typedef long long 阅读全文
posted @ 2020-12-06 18:47 Zeronera 阅读(144) 评论(0) 推荐(0) 编辑