牛客提高D2t2 幸运数字考试】的更多相关文章

分析 预处理出所有合法数字 然后直接lower_bound查询即可 代码 #include<iostream> #include<cstdio> #include<cstring> #include<string> #include<algorithm> #include<cctype> #include<cmath> #include<cstdlib> #include<queue> #inclu…
题目链接:https://ac.nowcoder.com/acm/contest/70/D 题目大意: 略 分析: 注意到12! < 10^9 < 13!,于是当n > 13时,第k号排列的前n - 13位是确定的.比如n = 15吧,那么无论k取何值,第k号排列都是形如:“12xxxxxxxxxxxxx”,后面的x代表其他数字,因为后面13个x,有13!种排列,大于10^9.于是平移一下就退化成n = 13的情况了,同时不要忘了把前n - 13位种满足条件的幸运数算一下. 对于n &l…
题目链接:https://ac.nowcoder.com/acm/contest/70/B 题目大意: 略 分析: 先DFS求出所有幸运数,然后暴力即可 代码如下: #pragma GCC optimize("Ofast") #include <bits/stdc++.h> using namespace std; #define INIT() std::ios::sync_with_stdio(false);std::cin.tie(0); #define Rep(i,n…
题目链接 为了纪(zhuang)念(bi)写完这个树剖单独写一篇.感觉还好,也就6k嘛. 完整比赛题解:https://www.cnblogs.com/SovietPower/p/9826829.html. 肯定要用点来表示边的颜色,然后树剖. 对于操作2,我们可以拆成: 将\(u\to v\)路径上的点,所有连向子节点的边染成\(col2\): 将\(u\to v\)路径上的点,所有连向父节点的边染成\(col1\): 将\(LCA(u,v)\)连向父节点的边染成\(col2\). 那么本题的…
题意 题目链接 Sol 设\(solve(x, y)\)表示\(i \in [0, x], j \in [0, y]\)满足题目要求的方案数 首先容斥一下,\(ans = solve(r_1, r_2) - solve(l_1 - 1, r_2) - solve(l_2 - 1, r_1) + solve(l_1 -1, l_2 - 1)\) 然后按照套路按位拆分,这里拆的时候是直接对\(x, y\)进行拆分 这样就把问题转换成了看起来似乎简单一些的问题 假设拆完后的数是 110011101 1…
分析 就就就是推柿子 看官方题解吧/px 代码 #include<iostream> #include<cstdio> #include<cstring> #include<string> #include<algorithm> #include<cctype> #include<cmath> #include<cstdlib> #include<queue> #include<ctime&g…
分析 我们不难发现对于偶数的情况只要相邻两个数不相等即可 而对于奇数的情况只要中间恰好隔一个数的两个数不相等即可 于是我们又dp[i][0/1]表示考虑到第i位,这一位和它后面离它最近的一个确定的数是否相等 每次从i-1转移即可 注意对于奇数的情况最终答案要n-1和n的dp值相乘以保证合法 代码 #include<iostream> #include<cstdio> #include<cstring> #include<string> #include<…
分析 每次修改用二位差分记录一下 之后对于三维分别统计即可 代码 #include<iostream> #include<cstdio> #include<cstring> #include<string> #include<algorithm> #include<cctype> #include<cmath> #include<cstdlib> #include<queue> #include&l…
分析 傻子题? 对d取模后随便贪心即可 代码 #include<iostream> #include<cstdio> #include<cstring> #include<string> #include<algorithm> #include<cctype> #include<cmath> #include<cstdlib> #include<queue> #include<ctime>…
分析 树上从下往上线性基合并即可 并不需要启发式/xyx 代码 #include<iostream> #include<cstdio> #include<cstring> #include<string> #include<algorithm> #include<cctype> #include<cmath> #include<cstdlib> #include<queue> #include<…