//这个规律我服
#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相关推荐

  1. 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]^.. ...

  2. HDU 4389 - X mod f(x)

    题目地址: http://acm.hdu.edu.cn/showproblem.php?pid=4389 2012多校,第9场,1010 . 问题是,询问区间内 存在多少个 哈沙德数(Harshad ...

  3. hdu 4389 囧,打表

    http://acm.hdu.edu.cn/showproblem.php?pid=4389 题意 :一个数能被他各个位数之和整除则符合要求,给L,R,问区间里有多少个数符合要求. 囧,居然打表就能过 ...

  4. HDU——1106排序(istringstream的使用、STLvector练习)

    排序 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submiss ...

  5. hdu 5438 Ponds 拓扑排序

    Ponds Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/contests/contest_showproblem ...

  6. HDU 1248 寒冰王座(全然背包:入门题)

    HDU 1248 寒冰王座(全然背包:入门题) http://acm.hdu.edu.cn/showproblem.php?pid=1248 题意: 不死族的巫妖王发工资拉,死亡骑士拿到一张N元的钞票 ...

  7. hdu 1312 Red and Black 解题报告

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1312 第二条深搜,题目并不难,但是做了我好久好久,由于一个细节,让我赌上了一个晚上的时间. 题目大意: ...

  8. HDU 1429 胜利大逃亡(续) (BFS+位压缩)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1429 胜利大逃亡(续) Time Limit: 4000/2000 MS (Java/Others)  ...

  9. hdu 1272 小希的迷宫

    Problem Description 上次Gardon的迷宫城堡小希玩了很久(见Problem B),现在她也想设计一个迷宫让Gardon来走.但是她设计迷宫的思路不一样,首先她认为所有的通道都应该 ...

  10. HDOJ 1157 HDU 1157 Who's in the Middle ACM 1157 IN HDU

    MiYu原创, 转帖请注明 : 转载自 ______________白白の屋   题目地址: http://acm.hdu.edu.cn/showproblem.php?pid=1157 题目描述: ...

最新文章

  1. pythonpandas读取csv和另外一个csv进行比较_Python Pandas:比较一个列中类似值的两个csv(dataframe)的行,并返回相似的行(列)的内容...
  2. 1.3 Quick Start中 Step 3: Create a topic官网剖析(博主推荐)
  3. 云服务器和VPS服务器有什么区别?
  4. K8S operator方式部署redis-cluster
  5. RabbitMQ死信队列代码架构图
  6. 如何创建和谐的色彩系统
  7. spring mvc学习(10):eclipse的环境前maven配置
  8. POJ-1845 数论
  9. python怎么创建子类_Python:如何在创建时使用父类注册所有子类
  10. c# 溢出抛异常_Rust竟然没有异常处理?
  11. python如何另存文件_脚本将.py保存到文件中的另一个目录
  12. postgresql 加载参数文件
  13. [摘抄]从 GitHub 身上学到的 3 个创业经验
  14. 第一次使用Latex编辑论文,经验分享
  15. 2.页面截长图工具-FireShot
  16. PP苹果助手 v2.3.0 官方版
  17. jQuery监听鼠标滚轮事件
  18. system/app 下 精简程序
  19. Winform VS2022解决:自定义控件类库没在工具箱出现问题
  20. 【数据治理-01】开篇:一起聊聊数据治理

热门文章

  1. R语言可视化学习笔记之ggpubr包
  2. mysql工具——mysqlcheck(MYISAM)
  3. 深入理解Java虚拟机:垃圾收集器与内存分配策略
  4. [C++]C++连接MySQL,封装为class(兼容x86和x64)
  5. lab4 cache lab
  6. Vue.js 与 ActiveX 控件
  7. scrapy分布式调度源码及其实现过程
  8. 做底层 AI 框架和做上层 AI 应用,哪个对自己的学术水平(或综合能力)促进更大?...
  9. 使用reportlab生成条码
  10. S实现控制图片显示大小的方法【图片等比例缩放功能】