题面:https://www.cnblogs.com/Juve/articles/11736440.html 异或: 考试时只想出了暴力 我们可以对于二进制下每一位w,求出[l,r]中有几个数在这一位是1,记为x,设y表示[l,r]中有几个数在w位不是一 这样就会有x×y对数在w位上产生贡献,每一对数会有2w的贡献, 主要就是实现一个calc函数,calc(x,i)表示从0到x有多少的数二进制下第i位是1,然后我们发现一个规律: 如果把0-9二进制打印出来: : : : : : : : : :…
[原题] 1874: [BeiJing2009 WinterCamp]取石子游戏 Time Limit: 5 Sec  Memory Limit: 162 MB Submit: 334  Solved: 122 [Submit][Status] Description 小H和小Z正在玩一个取石子游戏. 取石子游戏的规则是这种,每一个人每次能够从一堆石子中取出若干个石子,每次取石子的个数有限制,谁不能取石子时就会输掉游戏. 小H先进行操作,他想问你他是否有必胜策略,假设有,第一步怎样取石子. In…
题目链接:https://www.luogu.org/problem/P4860 和<P4018 Roy&October之取石子>一样的推导思路,去找循环节. 可以发现:只要不能被4整除就是必胜态,只要能被4整除就是必败态. 实现代码如下: #include <bits/stdc++.h> using namespace std; int T, n; int main() { cin >> T; while (T --) { cin >> n; pu…
看见异或两个字就孩怕 T1 按位? T2 这道异或稍水啊233 貌似可以打表找找规律 emm七种转移,有重复刷表 优化一下? T3 skyh已经接了2杯水了(实际情况他已经ak了) cbx开始抬头傻笑了 完了戏了T3还没思路(什么类似的题我都白做了 平凡优化,平凡优化.. 拆abs,前缀max,挺平凡的 复杂度也是对的? 考试体验较佳,如果skyh没去接水还能更佳 CSPS让考试接水么? 希望下次发(sk)挥(yh)得(rp)更(--)充(C)分(K)吧…
题目描述 给定$L,R$,我们希望你求出:$$\sum\limits_{i=L}^R\sum\limits_{j=L}^R(i\oplus j)$$其中这里的$\oplus$表示异或运算.答案对$10^9+7$取模. 输入格式 第一行一个整数$T$,表示数据组数.接下来$T$行,每行两个整数$L,R(0\leqslant L\leqslant R\leqslant 10^9)$,描述一组数据. 输出格式 每组数据输出一行一个整数,表示答案. 样例 样例输入: 21 20 1023 样例输出: 6…
题目传送门(内部题89) 输入格式 第一行两个数$n$和$k$,分别表示小鸟的只数和$R$装弹时间.接下来$n$行,每行两个数$l,r$表示$n$只小鸟初始时的头和尾的$x$坐标. 输出格式 输出一个答案表示$R$最多能得到多少只猎物. 样例 样例输入: 4 5-1 12 45 96 8 样例输出: 数据范围与提示 对于$30\%$的数据:$n\leqslant 20,\max(|l|,|r|)\leqslant 100$.对于$60\%$的数据:$n\leqslant 5,000,\max(|…
题目传送门(内部题21) 输入格式 第一行一个字符串$str$,表示数据类型.第二行一个正整数$k$,表示集合$K$的大小,保证$k>1$.接下来$k$行每行$k$个数,第$i$行第$j$个数表示$i\oplus j$的值,数据保证满足上文所提到的运算律.接下来一行一个正整数$n$,表示城市的总数.接下来$n-1$行,每行三个数$u,v,c$表示在城市$u$和城市$v$之间有一条边权为$c$的道路.接下来一行$n$个数,第$i$个数表示城市$i$的敌对城市$x_i$,若$x_i=0$表示第$i$…
题面:https://www.cnblogs.com/Juve/articles/11663898.html 69: 本以为T2傻逼题结果爆零了...T3原题虽然打的不是正解复杂度但是都不记得做过这道题... T1:组合数dp,发现i列与n+i列棋子个数一样,所以可以dp转移 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #define int long l…
题面:https://www.cnblogs.com/Juve/articles/11626350.html 砖块: 直接模拟即可,map统计被覆盖的次数 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<map> using namespace std; const int MAXN=1005; int n,k,len,a,b,x…
题面:https://www.cnblogs.com/Juve/articles/11602450.html u: 用差分优化修改 二维差分:给(x1,y1),(x2,y2)加上s: $d[x1][y1]+=s,d[x1][y2+1]-=s,d[x2+1][y1]-=s,d[x2+1][y2+1]+=s$ 定义2个差分数组d1,d2,分别记录竖列和斜边的差分 $d1[r][c]+=s,d1[r+l-1][c]-=s,d2[r][c+1]-=s,d2[r+l-1][c+l-1]+=s$ 统计是求2…