- 博客(33)
- 收藏
- 关注
原创 CodeForces - 1492D Genius‘s Gambit(构造)
题面:题意:给 aaa 个 000,bbb 个 111,你要构造两个二进制数 x,yx,yx,y ,使得 x−yx - yx−y 的二进制里有 kkk 个 111 。思路:x:11…0…y:10…1…xxx 和 yyy 的 ......... 部分对应都是 111 或者 000 ,因为对应位置都是 111 或者 000 就会抵消掉。让第一个 ......... 有 k−1k-1k−1个 111 和 000 ,剩下的放到第二个 ......... 就可以满足结果的二进制中有 kkk 个 111
2021-02-23 19:15:33
450
2
原创 CodeForces - 1492B Card Deck
题面:题意:给定一个长度为 nnn 的全排列 ppp ,你可以从后往前取连续的一段,将其放到一个新的数组里,直至把原数组取完,要使新数组 ∑i=1nnn−ip[i]\sum_{i=1}^nn^{n-i}p[i]∑i=1nnn−ip[i] 。(大概是这么个意思)举个例子:1 4 2 5 3第一次取5 3第二次取4 2第三次取1最后新数组就是5 3 4 2 1思路:大胆猜想,我要从后往前取的这一段 p[i...end]p[i...end]p[i...end] 中 p[i]p[i]p[i]
2021-02-23 19:07:39
227
原创 CodeForces - 519D A and B and Interesting Substrings
题面:题意:统计子串 s[i...j]s[i...j]s[i...j] ,满足 s[i]==s[j]s[i]==s[j]s[i]==s[j] 且 (sum[j−1]−sum[i+1]==0sum[j-1]-sum[i+1] == 0sum[j−1]−sum[i+1]==0 或 j==i+1j==i+1j==i+1) 的个数。(简略)思路:处理出前缀和sum,遍历字符串,对于当前字母 ccc 对答案的贡献是 sum[i−1]sum[i-1]sum[i−1] 出现过的次数。(感性理解一下?)#inc
2021-02-23 09:49:11
109
原创 CodeForces - 1409E Two Platforms(瞎搞)
题面:题意:在一个二维平面上,有许多点,其坐标为 (xi,yi)(x_i,y_i)(xi,yi) ,它们会沿 yyy 轴的负方向运动,你有两块长度为 kkk 且平行于 xxx 轴的的板子去save它们,问最多能save多少个点。(大概就是这么个意思)思路:有个憨憨想法:dp[i][1]dp[i][1]dp[i][1] 表示第一块板子右端与直线x=i对齐,能save的点的个数dp[i][2]dp[i][2]dp[i][2] 表示第二块板子右端与直线x=i对齐,能save的点的个数dp[i]
2021-02-23 00:01:37
108
原创 CodeForces - 580D Kefa and Dishes(状压DP)
题意:餐厅共有 nnn 道菜,举办宴会要选 mmm 道不重复的菜,并满足以下条件:首先,第 iii 道菜的美味值为 aia_iai,而一个宴会的基础美味值等于菜单上所有菜品的美味值之和。其次,上菜的流程会影响最终的美味值,一共有 kkk 条规则。第 iii 条规则对应两道菜 xix_ixi 和 yiy_iyi,如果在上菜流程中,yiy_iyi 紧跟在 xix_ixi 后面,则宴会的美味值会提升 cic_ici 点。求宴会的最大美味值。思路:状压DP。dp[i][j]dp[i][
2021-02-21 11:36:54
168
原创 CodeForces - 1381B Unmerge(01背包)
题面:题意:给定一共长度为 2×n2 \times n2×n 的数组(每个数都不相同)。问能不能将其划分成两个长度为 nnn 的数组。满足:每次取这两个数组开头的较小的数放入队列,直至取完,队列中的数列与给出的 2×n2 \times n2×n 的数组相同。思路:根据条件,我们可以将原数组划分为许多段,每一段满足第一个数大于该段中的其他数,且让这个段尽量长(手玩一下就知道原因了 ),然后 010101 背包,容量为 nnn ,如果能装满就 YESYESYES ,否则 NONONO 。#inclu
2021-02-20 23:25:42
185
原创 CodeForces - 1286A Garland(DP)
题目:题意:给出了一个 111 到 nnn 组成的数列,其中一部分的数字消失了(消失数字的位置已用0表示),需要把这些消失的数填回去,使这个数列中相邻且奇偶性不同的对数最少,求最少对数。思路:DP。dp[i][j][k][op]dp[i][j][k][op]dp[i][j][k][op] 表示以 iii 结尾的奇偶性为 opopop ,有 jjj 个 000 填奇数,有 kkk 个 000 填偶数,相邻且奇偶性不同的最少对数。op==0op==0op==0 为0op==1op==1op==1
2021-02-20 19:54:53
162
原创 结构体构造函数
两种构造函数无参构造有参构造#include<bits/stdc++.h>#define ll long long#define ms(x,a) memset(x,a,sizeof(x))using namespace std;const int maxn = 2e3 + 10;struct Edge{ int to,nxt,val; Edge() : to(),nxt(),val() {} Edge(int a,int b,int c) : to(a),nxt(b)
2021-01-22 17:17:14
176
原创 CodeForces - 429A Xor-tree(dfs)
题面:思路:每个节点都只会受到与它深度差2的倍数的祖先节点的影响 (间隔影响) ,所以就记录一下delta即可。#include<bits/stdc++.h>#define ll long long#define ms(x,a) memset(x,a,sizeof(x))using namespace std;const int maxn = 1e5 + 10;int head[maxn],cnt = 0;int a[maxn],b[maxn],ans[maxn];str
2021-01-21 11:14:10
245
原创 CodeForces - 27E Number With The Given Amount Of Divisors
题意:给一个n,求最小的正整数,其因子个数为n。思路:暴搜求反素数。反素数的性质:1.一个反素数的质因子必然是从2开始连续的质数。2. emirp=p1t1×p2t2×...×pmtm,p1≥p2≥...≥pmemirp=p_1^{t_1} \times p_2^{t_2} \times ... \times p_m^{t_m},p_1 \ge p_2 \ge ... \ge p_memirp=p1t1×p2t2×...×pmtm,p1≥p2≥...≥pm 。#include&l
2021-01-12 16:44:48
124
原创 CodeForces - 792C Divide by Three(暴力)
CodeForces - 792C题意:给一个数 nnn , 1≤n≤101000001 \le n \le 10^{100000}1≤n≤10100000 ,求最少删除几位后得到的数 mmm 是 333 的倍数,不能有前导零。如果有多解,输出任意一个。如果无解, 输出 −1-1−1 。思路:先考虑无解的情况,只有四种。对 nnn 的每一位 modmodmod 333 后只可能是 0,1,20,1,20,1,2 ,我们就只需考虑 1,21,21,2 配对的问题,所以暴力看几个 1,21,21,2 配对
2021-01-10 12:31:58
197
原创 51Nod - 1041 最小公倍数之和
写题解前,先感谢meopass学长的指点,一语惊醒梦中人!!!被这题卡得无心准备四六级了题意:\qquad 求∑i=1ni×n(i,n),1≤n≤1e9\sum_{i=1}^n\frac{i\times n}{(i,n)},1 \le n \le 1e9∑i=1n(i,n)i×n,1≤n≤1e9。思路:\qquadans=∑i=1ni×n(i,n)=n∑i=1ni(i,n)=n×(1+∑d∣nd×ϕ(d))2ans = \sum_{i=1}^n\frac{i\times n}{(i,n)}=n
2020-12-11 19:31:21
156
原创 2020CCPC绵阳站Game of Cards (SG函数)
2020CCPC绵阳站Game of Cards (SG函数)题目描述思路代码题目描述小兔子和小马喜欢玩奇怪的纸牌游戏。现在,他们正在玩一种叫做0123游戏的纸牌游戏。桌子上有几张牌。其中c0标记为0,c1标记为1,c2标记为2,c3标记为3。小兔子和小马轮流玩游戏,小兔子先走。在每一回合中,玩家应选择两张牌,条件是两张牌上的数字之和不超过3,然后将这两张牌换成标有其和的牌。不能移动的玩家将输掉比赛。小兔子和小马在想谁会赢这场比赛。(百度翻译)思路找出必败态:c0 == 0 &&
2020-11-02 10:44:03
1953
5
原创 CodeForces - 803F Coprime Subsequences
题目描述给定一个序列,求其gcd等于1的子序列的个数。思路莫比乌斯反演f(x):表示gcd为x的子序列的个数。F[x]:表示gcd为x的倍数的子序列的个数。F(d)=∑d∣nf(n)=>f(d)=∑d∣nu(nd)F(n)F(d)=\sum_{d|n}f(n)=>f(d)=\sum_{d|n}u(\frac{n}{d})F(n)F(d)=d∣n∑f(n)=>f(d)=d∣n∑u(dn)F(n)#include<bits/stdc++.h>#define l
2020-10-16 15:15:22
235
原创 CodeForces - 566F Clique in the Divisibility Graph(暴搜 + 记忆化)
题目:题意:给定n个点a1a_1a1到ana_nan,当aia_iai为aja_jaj的因子时,aia_iai和aja_jaj之间可以建一条边,求最大团包含点的个数。(最大团的定义可以百度一下)思路:首先有一个很显然的结论就是:如果答案包含的点的集合是{a1,a2,...,am}\{a_1,a_2,...,a_m\}{a1,a2,...,am},那么a1a_1a1是a2a_2a2的因子,a2a_2a2是a3a_3a3的因子,…,am−1a_{m-1}am−1是ama_m
2020-09-02 09:53:16
424
原创 头文件(Exile)
#include<bits/stdc++.h>#define ll long long#define inf 0x3f3f3f3f#define ms(x,a) memset(x,a,sizeof(x))using namespace std;const int maxn = 2e5 + 10;int n,m;int main(){ int t; scanf("%d",&t); for(int ca = 1;ca <= t;ca++){
2020-08-28 09:35:11
114
原创 CodeForces - 546D Soldier and Number Game(质因数分解计数)
样例解释:3!/1!=2∗3=>ans=23!/ 1!=2*3=>ans=23!/1!=2∗3=>ans=26!/3!=4∗5∗6=2∗2∗2∗3∗5=>ans=56!/3!=4*5*6=2 * 2* 2*3*5=>ans=56!/3!=4∗5∗6=2∗2∗2∗3∗5=>ans=5思路:对1~5e6的每个数进行质因数计数,求前缀和,然后就可以O(1)输出ans了。设pnum[i]是i的质因子的个数,i = a * b,则有pnum[i] = pnum[a] +.
2020-08-28 08:24:03
164
原创 51Nod - 1128 正整数分组 V2(二分)
要求n个数分成m组,组内元素之和的最大值最小,显然二分。我们就二分要求的这个值x,我们每次check的时候就都把这n个数分成cnt组,组内元素之和sum应小于等于x,然后根据cnt和m的关系,进行l的右移或者r的左移。#include<bits/stdc++.h>#define ll long long#define linf 0x3f3f3f3f3f3f3f3fusing namespace std;const int maxn = 5e4 + 10;int n,m;ll a[
2020-08-27 14:23:05
268
原创 51Nod - 3215 1到N的最小公倍数(java大数)
lcm(a,b)=ab/gcd(a,b)\ lcm(a,b)=ab/gcd(a,b) lcm(a,b)=ab/gcd(a,b)import java.math.*;import java.util.*;import java.io.*;public class Main { public static void main(String args[]) { Scanner cin = new Scanner(System.in); int n = ci
2020-08-19 09:08:06
534
原创 数据库选择题
测试11单选(2分)( )是存储在计算机内有结构的数据的集合。A.数据库系统B.数据库C.数据库管理系统D.数据结构解析:D、知识点:数据库的4个基本概念2单选(2分)数据库的特点之一是数据的共享,严格的讲,这里的数据共享是指( )。A.同一个应用中的多个程序共享一个数据集合B.多个用户、同一种语言共享数据C.多个用户共享一个数据文件D.多种应用、多种语言、多个用户互相覆盖地使用数据集合3单选(2分)要保证数据库的数据独立性,需要修改的是( )。A.模式与外模式B.模式与内
2020-08-14 22:19:49
3553
原创 牛客多校第9场E Groundhog Chasing Death
开始以为是什么高深的数论题,后来 重新 推了一下,得到了个这么个式子。∏i=ab∏j=cd(p1min(a1[1]i,a2[1]j)p2min(a1[2]i,a2[2]j)...pmmin(a1[m]i,a2[m]j)),\prod_{i=a}^b\prod_{j=c}^d (p_1^{min(a_1[1]i,a_2[1]j)}p_2^{min(a_1[2]i,a_2[2]j)}...p_m^{min(a_1[m]i,a_2[m]j)}),∏i=ab∏j=cd(p1min(a1[1]i,...
2020-08-08 19:01:50
776
2
原创 牛客多校第9场A Groundhog and 2-Power Representation
没用过Python,现学现卖,呜呜呜。经过观察我们只要在’2’和’(‘之间加上’**’,然后再算整个式子的结果就行了?t = input()l = len(t)ans = ""for i in range(l): ans += t[i] if i == l - 1: break if t[i] == '2' and t[i + 1] == '(': ans += "**"ans = eval(ans)print(ans)...
2020-08-08 18:24:11
122
原创 HDU - 5973 Game of Taking Stones(博弈+二分)
威佐夫博弈 + java威佐夫博弈不懂的话,可以百度一下。这道题需要精确到小数点后100位,所以我们需要用java二分求5\sqrt55,然后套结论即可。import java.util.*;import java.math.*;public class Main{ public static void main(String[] args) { Scanner cin = new Scanner(System.in); BigDecimal l
2020-08-07 09:06:25
132
原创 HDU多校第6场1007 A Very Easy Math Problem
Problem DescriptionInputOutputSample InputSample OutputSource2020 Multi-University Training Contest 6 得到上式后我们可以对这三项进行预处理u(d)2dkx+1、u(d)pkx、Su(d)^2d^{kx+1} 、u(d)p^{kx}、Su(d)2dkx+1、u(d)pkx、S然后我们再进行两次整除分块,求得ans。#include<bits/stdc++.h>#d
2020-08-06 19:41:23
257
原创 ACM-ICPC 2018 南京赛区网络预赛 J-Sum(推公式)
ACM-ICPC 2018 南京赛区网络预赛 J-Sum链接题意:f(i)表示a*b的对数(a,b都不是平方数)。 求∑i=1nfi\sum_{i=1}^{n} f_i i=1∑nfi思路:∑i=1nfi=∑i=1n∑d∣i∣u(d)∣∣u(id)∣=∑i=1n∣u(i)∣∑j=1⌊ni⌋∣u(j)∣\sum_{i=1}^{n} f_i = \sum_{i=1}^{n} \sum_{d|i}^{} |u(d)||u(\frac{i}{d})|=\sum_{i=1}^{n} |u(i)| \s
2020-07-22 21:44:28
154
原创 CodeForces - 1368D AND, OR and square sum
本来是个数学题,让我整成了瞎搞题,写成二进制找规律#include<bits/stdc++.h>#define ll long long#define inf 0x3f3f3f3f#define ms(x,a) memset(x,a,sizeof(x))using namespace std;const int maxn = 2e5 + 10;const ll mod = 1e9 + 7;int n;ll a[maxn],b[maxn][70],tmp[35];ll qp
2020-06-19 09:50:41
173
原创 CodeForces - 1368C Even Picture
CodeForces - 1368C Even Picture构造题,如下图所示#include<bits/stdc++.h>#define ll long long#define inf 0x3f3f3f3f#define ms(x,a) memset(x,a,sizeof(x))using namespace std;const int maxn = 1e3 + 10;const ll mod = 1e9 + 7;int n;char G[maxn][maxn];bo
2020-06-19 09:36:25
204
原创 并查集入门篇
文章目录1 概念2 主要操作2.1 存储代码实现2.2 初始化代码实现2.3 查询代码实现图解2.4 合并3 例题讲解3.1 POJ - 1611 The Suspects代码实现3.2 POJ - 2236 Wireless Network代码实现3.3 HDU - 1213 How Many Tables代码实现3.4 CodeForces - 1167C News Distribution代...
2019-09-13 07:24:56
511
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人