hdu 6129 Just do it
//这个规律我服
#include <iostream> #include <algorithm>
#include <stdio.h> #include <set> #include <queue> #include <limits.h> #include <string.h> #include <vector> #include <map> #include <math.h> #define LL long long #define INF 2100000000 #define fi first #define se second #define lowbit(x) (x&(-x)) #define eps 5e-7 using namespace std; const int maxn=(int)2e5 +30; const int MOD=998244353; int a[maxn]; #define judg(n,k) n&k==k int main(){ #ifdef shuaishuaifreopen("C:\\Users\\hasee\\Desktop\\a.txt","r",stdin);//freopen("C:\\Users\\hasee\\Desktop\\b.txt","w",stdout); #endifint t,n,m;scanf("%d",&t);while(t-- ){scanf("%d%d",&n,&m);for(int i=0;i<n;i++)scanf("%d",a+i);for(int k=0;1<<k<=m;k++){if(m>>k&1){printf("fuck:%d\n",1<<k);for(int i=1<<k;i<n;i++){a[i]^=a[i-(1<<k)];printf("%d %d\n",i,i-(1<<k));}}}for(int i=0;i<n-1;i++)printf("%d ",a[i]);printf("%d\n",a[n-1]);} // int t=15; // while(t){ // printf("t: %d lowbit :%d\n",t,lowbit(t)); // t-=lowbit(t); // }return 0; }
x姐的话:
ftiasch(826513189) 2017-08-15 17:14:13
这个 dp[i][j] = dp[i - 1][j] + dp[i][j - 1]
ftiasch(826513189) 2017-08-15 17:14:33查看前后消息
你把这个式子写两遍。。。就会发现变成了
dp[i][j] = dp[i - 2][j] + 2 * dp[i - 1][j - 1] + dp[i][j - 2]
ftiasch(826513189) 2017-08-15 17:14:46
因为你 mod 2。。。所以中间那项不见了
ftiasch(826513189) 2017-08-15 17:14:50
再写两遍。。。
ftiasch(826513189) 2017-08-15 17:15:03
就会变成。。。dp[i][j] = dp[i - 2^k][j] + dp[i][j - 2^k] 这个样子。。。
ftiasch(826513189) 2017-08-15 17:15:13
所以你可以一次做 2^k 轮。。。
ftiasch(826513189) 2017-08-15 17:15:17
做 O(log m) 次就可以了。。。
我找到了这个不错的题解:
http://www.cnblogs.com/cmmdc/p/7371746.html
转载于:https://www.cnblogs.com/MeowMeowMeow/p/7373950.html
hdu 6129 Just do it相关推荐
- HDU 6129 Just do it 组合数学 杨辉三角 递推
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=6129 题目描述: 将a序列转化成b序列, b[i] = a[1]^a[2]^a[3]^a[4]^.. ...
- HDU 4389 - X mod f(x)
题目地址: http://acm.hdu.edu.cn/showproblem.php?pid=4389 2012多校,第9场,1010 . 问题是,询问区间内 存在多少个 哈沙德数(Harshad ...
- hdu 4389 囧,打表
http://acm.hdu.edu.cn/showproblem.php?pid=4389 题意 :一个数能被他各个位数之和整除则符合要求,给L,R,问区间里有多少个数符合要求. 囧,居然打表就能过 ...
- HDU——1106排序(istringstream的使用、STLvector练习)
排序 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submiss ...
- hdu 5438 Ponds 拓扑排序
Ponds Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/contests/contest_showproblem ...
- HDU 1248 寒冰王座(全然背包:入门题)
HDU 1248 寒冰王座(全然背包:入门题) http://acm.hdu.edu.cn/showproblem.php?pid=1248 题意: 不死族的巫妖王发工资拉,死亡骑士拿到一张N元的钞票 ...
- hdu 1312 Red and Black 解题报告
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1312 第二条深搜,题目并不难,但是做了我好久好久,由于一个细节,让我赌上了一个晚上的时间. 题目大意: ...
- HDU 1429 胜利大逃亡(续) (BFS+位压缩)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1429 胜利大逃亡(续) Time Limit: 4000/2000 MS (Java/Others) ...
- hdu 1272 小希的迷宫
Problem Description 上次Gardon的迷宫城堡小希玩了很久(见Problem B),现在她也想设计一个迷宫让Gardon来走.但是她设计迷宫的思路不一样,首先她认为所有的通道都应该 ...
- HDOJ 1157 HDU 1157 Who's in the Middle ACM 1157 IN HDU
MiYu原创, 转帖请注明 : 转载自 ______________白白の屋 题目地址: http://acm.hdu.edu.cn/showproblem.php?pid=1157 题目描述: ...
最新文章
- pythonpandas读取csv和另外一个csv进行比较_Python Pandas:比较一个列中类似值的两个csv(dataframe)的行,并返回相似的行(列)的内容...
- 1.3 Quick Start中 Step 3: Create a topic官网剖析(博主推荐)
- 云服务器和VPS服务器有什么区别?
- K8S operator方式部署redis-cluster
- RabbitMQ死信队列代码架构图
- 如何创建和谐的色彩系统
- spring mvc学习(10):eclipse的环境前maven配置
- POJ-1845 数论
- python怎么创建子类_Python:如何在创建时使用父类注册所有子类
- c# 溢出抛异常_Rust竟然没有异常处理?
- python如何另存文件_脚本将.py保存到文件中的另一个目录
- postgresql 加载参数文件
- [摘抄]从 GitHub 身上学到的 3 个创业经验
- 第一次使用Latex编辑论文,经验分享
- 2.页面截长图工具-FireShot
- PP苹果助手 v2.3.0 官方版
- jQuery监听鼠标滚轮事件
- system/app 下 精简程序
- Winform VS2022解决:自定义控件类库没在工具箱出现问题
- 【数据治理-01】开篇:一起聊聊数据治理
热门文章
- R语言可视化学习笔记之ggpubr包
- mysql工具——mysqlcheck(MYISAM)
- 深入理解Java虚拟机:垃圾收集器与内存分配策略
- [C++]C++连接MySQL,封装为class(兼容x86和x64)
- lab4 cache lab
- Vue.js 与 ActiveX 控件
- scrapy分布式调度源码及其实现过程
- 做底层 AI 框架和做上层 AI 应用,哪个对自己的学术水平(或综合能力)促进更大?...
- 使用reportlab生成条码
- S实现控制图片显示大小的方法【图片等比例缩放功能】