上一页 1 2 3 4 5 6 7 ··· 18 下一页
摘要: 又是一道线段树水题啊, 比赛的时候怎么就不看看呢 aaaaa 题意:已知n个房间,每个房间需要有ai个灯,主角在给所有房间都装好节能灯之前,会每个月购买m个节能灯,同时每个月按房间编号从小到大依次给能完全满足需求的房间装节能灯,剩下的节能灯留到下个月用。接... 阅读全文
posted @ 2018-09-03 09:32 ffgcc 阅读(88) 评论(0) 推荐(0) 编辑
摘要: 预处理出做每道题要求的状态,和每个状态有多少个1。判断当前状态是否满足要求只需要将当前状态与要求状态按位与,并判断是否和要求状态相等。 感觉是这次比赛最好做的一道题了#includeusing namespace std;typedef long long ... 阅读全文
posted @ 2018-09-03 09:32 ffgcc 阅读(82) 评论(0) 推荐(0) 编辑
摘要: 题解:有如下结论1.若i是素数则f(i)=22.若i的某个质因子个数超过2,则f(i)=0。这个结论很好想,如果有大于2个相同质因子,那么对于i的每个分解 i=a*b,a和b中必定有一个数含平方因子3.若i=a*b且a和b不含相同因子即可,那么f(i)=f(... 阅读全文
posted @ 2018-09-03 09:32 ffgcc 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 我们设置dis[i][k]表示走到第i号点,免费经过了k条边的最短路。 对于我们当前找到的终点,尝试起点的状态去更新,不选择此条边免费的状态和选择此条边免费的状态,再将这两个状态压入队列去更新可以到达的其他状态。#include#define fi fir... 阅读全文
posted @ 2018-09-03 09:32 ffgcc 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 排序之后按行枚举是显然的,那么我们枚举到i时,求小于yi的最大值就要用到线段树的区间求最值了,注意一点就是只有当xi不等于xi-1的时候才要更新它们。#includeusing namespace std;#define ll long long#defi... 阅读全文
posted @ 2018-08-29 10:23 ffgcc 阅读(94) 评论(0) 推荐(0) 编辑
摘要: 解析:我们要找的点肯定在n-1个矩形的公共区域里,所以我们只要找出矩形的公共区域然后取任意一个顶点的值就好了,公共区域通过前缀和可以搞出来#includeusing namespace std;#define ll long long#define pb ... 阅读全文
posted @ 2018-08-28 17:11 ffgcc 阅读(93) 评论(0) 推荐(0) 编辑
摘要: 解释下题意 问这种长度为 n 且本质不同(本质不同是指环上数字的相对位置不同,如 1234 和 2341,3412,4123 都是本质相同的,它们本质上是一个环)的环有多少种。所以打表时可以控制1就在1位置,这样就不会有重复的计数了,然后OEIS一下就能找... 阅读全文
posted @ 2018-08-24 18:33 ffgcc 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 仅记录模板const int N=2e7;const int maxn=N+10;int primes,prime[maxn],phi[maxn];bool vis[maxn];void init(){ int i,j; phi[1]=1; ... 阅读全文
posted @ 2018-08-22 22:06 ffgcc 阅读(101) 评论(0) 推荐(0) 编辑
摘要: 解析: 其实规律比较好找 即对于每个 i, 求有多少个小于它的 a 满足 gcd(i, a) = 1 且 a 是奇数 当 i 是奇数时, 答案为 φ(i)/2 当 i 是偶数时, 答案为 φ(i). 注意 i = 1 时, 答案为 0. 记个前缀和就好了, ... 阅读全文
posted @ 2018-08-22 22:04 ffgcc 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 解析: 共有k维,每一维度仅有2个状态,所以一共有2^k个状态 枚举每个状态, n和m是独立存在的, 所以在此状态下对n和m分别取最大值即可#include#define ll long longusing namespace std;const int N... 阅读全文
posted @ 2018-08-22 21:23 ffgcc 阅读(96) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 18 下一页