[题解] x xor y的结果在二进制下有奇数个1,等价于x与y在二进制下的1的个数之和为奇数,因为x xor y减少的1的个数一定是偶数(两个数这一位都为1,xor的结果为0,减少了2个1) 那么答案就是序列中二进制下有奇数个1的数的个数 乘 二进制下有偶数个1的数的个数. 因为n有1e7,暴力算每个数二进制下1的个数是不行的.我们需要预处理0~2^15的Popcount,把每个数掐成高低两段统计. #include<cstdio> #include<cstring> #incl…
[LGR-054]洛谷10月月赛II luogu 成功咕掉Codeforces Round #517的后果就是,我\(\mbox{T4}\)依旧没有写出来.\(\mbox{GG}\) . 浏览器 \(\mbox{popcount}\)为\(0\)的乘上\(\mbox{popcount}\)为\(1\)的就是答案. 因为两个数异或以后二进制位\(1\)的个数的奇偶性不会变. 至于计算\(\mbox{popcount}\),预处理到根号,\(O(1)\)计算即可. #include<cstdio>…
[咻咻咻] (https://www.luogu.org/contestnew/show/11616) 令人窒息的洛谷月赛,即将参加NOIp的我竟然只会一道题(也可以说一道也不会),最终145的我只能惨惨的迎接剩下的16天(吧) 下面是题解的代码(填坑),神奇的是这四道题都需要DP.参加SXOI的大佬真是tql,此处手动@ljt12138@__stdcall T1找性质,popcnt为1的加上popcnt为0的就是答案(然而当时没想到只打了暴力) #include<bits/stdc++.h>…
[题解] f[i][j]表示最后一个数为h[i],公差为j的等差数列的个数.n方枚举最后一个数和倒数第二个数转移即可.注意公差可能为负数,需要移动为正数再作为下标. #include<cstdio> #include<cstring> #include<algorithm> #define LL long long #define rg register #define N 1010 #define Mod (998244353) #define P (20000) u…
#A: P4924 [1007]魔法少女小Scarlet 这道题考了矩阵旋转 其实很考验推公式的能力和代码能力 这里有个小技巧 可以设(x, y)为原点,然后去推公式,然后实际操作中横坐标加上x,纵坐标加上y就好了. 顺时针(i, j) -> (j, -i) 逆时针(i, j) -> (-j, i) #include<bits/stdc++.h> #define REP(i, a, b) for(register int i = (a); i < (b); i++) #def…
X Round的题目质量还是一如既往的高 然而每次周末我都要写作业没法用心打233主要是被陈指导放了鸽子 占坑代填(最近坑开的有点多)…
浏览器 结论popcnt(x^y)和popcnt(x)+popcnt(y)的奇偶性相同. 然后就是popcnt为奇数的乘为偶数的.预处理一下\(2^{16}\)次方以内的popcnt,直接\(O(1)\)算就行. 大师 就是求有多少个等差子序列. 方程很好写,\(f[i]\)表示以\(i\)结尾的等差子序列个数,\(f[i] = \sum_{j=1}^i f[j]*[a[i]-a[j]=d]\),枚举一下公差就行了.这里要注意公差可能有正有负,不要一起枚举(我就在这错的) #include <a…
LG 11 月 月赛 II T4 看到膜数和 $ 10^5 $ 以及 $ n^2 $ 的部分分想到很可能是 NTT 于是开始推式子 首先看到式子可以化作, 如果 \(k = 0\) , $ f(l , r , k) $ 为 $ [l = r]a[l] $ 否则,$ f(l , r , k) $ 为 $ \displaystyle \sum_{\forall [a,b] \sub [l,r]} f(a,b,k-1) $ 比较通俗的语言就是对于 $ [l,r] $ 的所有子区间求 $ f(a,b,k…
Rank11:260=60+100+100 P2409 Y的积木 题目背景 Y是个大建筑师,他总能用最简单的积木拼出最有创意的造型. 题目描述 Y手上有n盒积木,每个积木有个重量.现在他想从每盒积木中拿一块积木,放在一起,这一堆积木的重量为每块积木的重量和.现在他想知道重量和最小的k种取法的重量分别是多少.(只要任意更换一块积木,就视为一种不同的取法.如果多种取法重量总和一样,我们需要输出多次.) 输入输出格式 输入格式: 第一行输入两个整数,n,k,意义如题目所描述. 每组数据接下来的n行,第…
题目描述 小仓鼠的和他的基(mei)友(zi)sugar住在地下洞穴中,每个节点的编号为1~n.地下洞穴是一个树形结构.这一天小仓鼠打算从从他的卧室(a)到餐厅(b),而他的基友同时要从他的卧室(c)到图书馆(d).他们都会走最短路径.现在小仓鼠希望知道,有没有可能在某个地方,可以碰到他的基友? 小仓鼠那么弱,还要天天被zzq大爷虐,请你快来救救他吧! 输入输出格式 输入格式: 第一行两个正整数n和q,表示这棵树节点的个数和询问的个数. 接下来n-1行,每行两个正整数u和v,表示节点u到节点v之…
题目描述 萌萌哒的Created equal是一只小仓鼠,小仓鼠自然有仓鼠窝啦. 仓鼠窝是一个由n*m个格子组成的行数为n.列数为m的矩阵.小仓鼠现在想要知道,这个矩阵中有多少个子矩阵!(实际上就是有多少个子长方形嘛.)比如说有一个2*3的矩阵,那么1*1的子矩阵有6个,1*2的子矩阵有4个,1*3的子矩阵有2个,2*1的子矩阵有3个,2*2的子矩阵有2个,2*3的子矩阵有1个,所以子矩阵共有6+4+2+3+2+1=18个. 可是仓鼠窝中有的格子被破坏了.现在小仓鼠想要知道,有多少个内部不含被破…
题目背景 张骞于公元前138年曾历尽艰险出使过西域.加强了汉朝与西域各国的友好往来.从那以后,一队队骆驼商队在这漫长的商贸大道上行进,他们越过崇山峻岭,将中国的先进技术带向中亚.西亚和欧洲,将那里的香料.良马传进了我国.每当人们凝望荒凉的大漠孤烟,无不引起对往日商贸.文化繁荣的遐想…… 题目描述 小仓鼠带着货物,从中国送到安息,丝绸之路包括起点和终点一共有N+1个城市,0号城市是起点长安,N号城市是终点巴格达.要求不超过M天内必须到达终点.一天的时间可以从一个城市到连续的下一个城市.从i-1城市…
Preface 一边打一边写作文打的像shit,T2失智严重特判错了233 Orz Div1 Rank2的foreverlastnig聚聚,顺便说一句显然Luogu的比赛质量比以往显著提高了啊 以下题目按难度顺序排序 P5587 打字练习 送分模拟题,注意行首退格的问题以及一个坑点:范文中也有退格 #include<cstdio> #include<iostream> #include<string> #define RI register int #define CI…
早上打一半就回家了... T1傻逼题不说了...而且我的写法比题解要傻逼很多T T T2可以发现,我们强制最大值所在的块是以左上为边界的倒三角,然后旋转4次就可以遍历所有的情况.所以二分极差,把最大值所能扩展到的(mp[i][j]+mid>=mx)最大倒三角求出来,剩下的数减去最小值判断一下是否小于等于极差,如果是的话答案可行. #include<iostream> #include<cstring> #include<cstdlib> #include<c…
A - 打字练习 出题:memset0 送分模拟题,按题意模拟即可. 需要注意的是对退格键的判断,如果光标已经在行首,则直接忽略被读入的退格键. B - 小猪佩奇爬树 出题:_QAQ 维护所有相同节点颜色的链并,若不构成一条链则显然答案为 $ 0 $ . 若仅包含 $ 1 $ 个节点,则枚举所有子树大小进行统计. 否则即为链的 $ 2 $ 个端点所对子树大小的乘积. C - 小猪佩奇玩游戏 出题:_QAQ & SPJ:memset0 容易发现可以将 $ {1,2,\dots,n} $ 进行分组,…
前言 100+100+46+0=246pts 300多名 以后每次比赛都要有进步哦!qwq 小D与笔试 水题 Code #include<algorithm> #include<iostream> #include<cstdio> #include<cmath> #include<map> using namespace std; inline int read() { int x=0,f=1; char ch=getchar(); while(…
题目描述# 给你一个长度为\(n\)的字符串\(S\). 有\(m\)个操作,保证\(m≤n\). 你还有一个字符串\(T\),刚开始为空. 共有两种操作. 第一种操作: 在字符串\(T\)的末尾加上一个字符. 第二种操作: 在字符串\(T\)的开头加上一个字符. 每次操作完成后要求输出有几个\(l∈[1,T.size]\)满足以下条件: 对于\(∀i∈[1,l]\)有\(T_{T.size−l+i}≠S_i\) \(Tip:\)字符串下标从\(1\)开始.\(T.size\)表示\(T\)的长…
题解: 没打... ab题满世界都过了应该没什么意思 c题是个比较有意思的思维题(先看了题解才会的...) 我们考虑这么一件事情 没钥匙的人出门后 门一定是开着的 他进来的时候,门一定是开着的 其他时候,一定门能关着比较好 但是这个东西并不是很好维护,因为可能重复算 我们考虑重新排个序 我们把a[]在b[]前面的那个排在他前面 这样我们只需要记录一下上一个取了没有就可以了 感觉说出来不是很好理解这个东西... d题还是个有点难度的数据结构题 一件比较显然的事情是我们对a的操作等价于是要 找当前x…
看错比赛时间了....结果发现的时候已经开始了半个小时,并且当时正准备睡午觉qwq 于是就水了个t1就 去睡 跑了 T2 写着写着然后看了一发评讲被辣鸡思路给绕了进去最后发现自己宛若一个智障 类似桶的思想 直接用map映射一下向左倒和向右倒的杆子数量,若重合数为i, ans+=i*(i-1)/2; 就没了.... (去你的分类讨论 学了一波map的操作 建立:std:map<int,int> mmp; 赋值:mmp[i]=val; 遍历:for(map<int,int>::iter…
蒟蒻只能打一打DIV2的基础题 太卑微了 这道题的本质其实是再建一个数组,如果s串i位置是0那么就给a[i]赋值为1,表示要累加个数,如果是1那么就把a[i]赋值为-1,表示个数减一,最后求最大子段和,那么就可以O(n)实现了. 附上最大子段和blog链接https://blog.csdn.net/weixin_40170902/article/details/80585218 #include<bits/stdc++.h> #define R register int using names…
Content 在大小为 \(n\) 的数字三角形中,第 \(i\) 行包含有 \(i\) 个数字,数字从上到下,从左到右依次排列为 \(1,2,3,\dots\). 设第 \(i\) 行第 \(j\) 个数字为 \((i,j)\),则我们可以从 \((i,j)\) 走到 \((i+1,j)\) 或 \((i+1,j+1)\),也可以从 \((i+1,j)\) 或 \((i+1,j+1)\) 走到 \((i,j)\). 现在请求出连续走过 \(k\) 个不同的数字时,走过的 \(k\) 个数字的…
Description CX老湿经常被人黑,被黑得多了,自己也就麻木了.于是经常听到有人黑他,他都会深情地说一句:禽兽啊! 一天CX老湿突发奇想,给大家出了一个难题,并且声称谁能够准确地回答出问题才能继续黑他,否则他就要反击了. 这个难题就是: 给出两个数p和q,接下来q个询问,每个询问给出两个数A和B,请分别求出: 一.有多少个有序数对(x,y)满足1<=x<=A,1<=y<=B,并且gcd(x,y)为p的一个约数: 二.有多少个有序数对(x,y)满足1<=x<=A,…
Description 殷犇有很多队员.他们都认为自己是最强的,于是,一场比赛开始了~ 于是安叔主办了一场比赛,比赛有n个题目,每个题目都有一个价值Pi和相对能力消耗Wi,但是有些题目因为太坑不能同时做出来,并且坑题具有传递性.(a和b一起做会坑.b和c会坑则a和c也会坑) ACM队员们想知道,于是他们想知道在能力范围内,它们最多可以作出多少价值的题目. 聪明的你,告诉我,能帮帮他们吗? Input 第1行两个整数,n,Wmax,k(0<=n,Wmax,k<=1000),其中n为题目总数,Wm…
Description CSU又到了一年中评奖学金的时候了……各大学霸都或多或少地拿到了各种奖学金(你们自己看着办吧). 在这里,评奖学金有个很奇怪的规矩——每个同学得到的奖学金数一定满足相邻的两个非零数位上的数字不相等(奖学金都是非负整数,如果一个同学没有得到奖学金,我们也可以认为学校发给ta的奖学金为0). 然而,如果你问这里的孩子拿了多少奖学金,ta不会直接告诉你拿到了多少奖学金,而会告诉你ta拿到的奖学金数大于某一个整数X.同时为了不产生歧义,ta所说的那个数和ta所拿到的那个奖学金数目…
题目链接  ECNU Monthly 2018.10 Problem E 从开场写到结束…… 显然要把三角形分成上下两部分. 把每一部分分成三部分,以上部分为例. 上面和右边,以及左下角的正方形. 也就是两个小三角形和一个正方形合起来. 处理正方形的时候稍微麻烦一些. 然后直接倍增就可以了. #include <bits/stdc++.h> using namespace std; #define rep(i, a, b) for (int i(a); i <= (b); ++i) #d…
Problem A: Small change 题解:http://www.cnblogs.com/crazyapple/p/3349469.html Problem B: Scoop water 题解:http://www.cnblogs.com/crazyapple/p/3349478.html Problem D: CX and girls 题解:http://www.cnblogs.com/crazyapple/p/3349480.html Problem F: ZZY and his…
Description CX是要赶去上课,为了不迟到必须要以最短的路径到达教室,同时CX希望经过的路上能看到的学妹越多越好.现在把地图抽象成一个无向图,CX从1点出发,教室在N号点,告诉每个点上学妹的数量,每条边的长度.请你求出CX以最短路径赶到教室最多能看到多少学妹. Input 多组输入数据(最多20组),输入到文件结束. 每组数据第一行两个正整数N,M其中N代表点的个数(2<=N<=1000),M代表边的个数(1<=M<=10000). 接下来一行N个数,代表着1~N每个点上…
一道字典树异或的题,但是数据比较水,被大家用暴力给干掉了! 以前写过一个类似的题,叫做the longest xor in tree: 两个差不多吧! 好久没写字典树了,复习一下! 代码: #include <cstdio> #include <cstring> #include <algorithm> #define maxn 100010 using namespace std; ],end[maxn]; void add(int cur,int k) { mems…
一个卡特兰数的应用: 卡特兰数主要有以下几个用途: 1.不同的出栈入栈数: 2.n个点组成的不同的二叉树的数目: 3.凸多边形的三角剖分划分: 4.括号化问题: 通项公式是:h(n) = C(2n-2,n-1)/n,n=1,2,3,... 递推公式:h(n) = h(1)*h(n-1) + h(2)*h(n-2) + ... + h(n-1)h(1),n>=2 这个题就是第一种情况. 代码: #include<cstdio> #define maxn 10009 #define mod…
Welcome to CSU OnlineJudge Problem A: Small change Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 156  Solved: 91[Submit][Status][Web Board] Description 打完网赛,就到了晚饭的时间,但CSU_ACM的同学们都已经没力气出去了,这时CX建议大伙一起点餐吧,因为正是饭点,CX为了不让大家等太久,找了一个承诺20分钟送到超时要打折的外卖.但CX的RP都…