[BZOJ5267]特工
一个套路题...但还是得写一下这个套路避免以后忘了
题目中的运算$f(i,j)=(i|j)\text^i$对单位二进制满足$f(0,0)=f(1,0)=f(1,1)=1,f(0,1)=0$
先考虑求正变换,即是求$b_i=\sum\limits_{j=0}^{n-1}\left[2|\text{bit}(f(i,j))\right]a_j$
用类似FWT的过程求$b$
假设我们已经对$l\leq i\leq mid$求出$b_i=\sum\limits_{j=l}^{mid}[2|\text{bit}(f(i,j))]a_j$,已经对$mid+1\leq i\leq r$求出$b_i=\sum\limits_{j=mid+1}^r[2|\text{bit}(f(i,j))]a_j$,现在我们想对$l\leq i\leq r$求$b_i=\sum\limits_{j=l}^r[2|\text{bit}(f(i,j))]a_j$
①对$l\leq i\leq mid$,$\sum\limits_{j=mid+1}^r[2|\text{bit}(f(i,j))]a_j=\sum\limits_{j=mid+1}^ra_j-b_{i+\frac{len}2}$(因为$b_{i+\frac{len}2}$的最高位是$f(1,1)=1$,我们要求的东西的最高位是$f(0,1)=0$,所以$\text{bit}(f(i,j))$奇偶性变化)
②对$mid+1\leq i\leq r$,$\sum\limits_{j=l}^{mid}[2|\text{bit}(f(i,j))]=b_{i-\frac{len}2}$(因为$b_{i-\frac{len}2}$的最高位是$f(0,0)=1$,我们要求的东西的最高位是$f(1,0)=1$,所以$\text{bit}(f(i,j))$奇偶性不变)
写成FWT的格式是$\begin{cases}a_{[0]}'=s_{[1]}-a_{[1]}+a_{[0]}\\a_{[1]}'=a_{[1]}+a_{[0]}\end{cases}$,立得逆变换$\begin{cases}a_{[0]}=\frac{a_{[1]}'+a_{[0]}'-s_{[1]}}2\\a_{[1]}=\frac{a_{[1]}'-a_{[0]}'+s_{[1]}}2\end{cases}$
这种类型的题目大部分可以这样推导出来
剩下一个小问题就是求$s_{[1]}$,一般题目中给的这个运算能让你快速求它,比如这道题中$s_{[1]}=b_{r}-b_{mid}$
时间复杂度$O(n\log_2n)$
#include<stdio.h> typedef long long ll; #define NUM(x) ('0'<=x&&x<='9') char c[40000010]; int ns; inline ll rd(){ while(!NUM(c[ns]))ns++; ll x=0; while(NUM(c[ns]))x=(x<<3)+(x<<1)+c[ns++]-'0'; return x; } ll a[1048576]; int n; void trans(ll*a){ int i,j,k; ll s,u,v; for(i=n;i>1;i>>=1){ for(j=0;j<n;j+=i){ s=a[j+i-1]-a[j+i/2-1]; for(k=0;k<i>>1;k++){ u=a[j+k]; v=a[i/2+j+k]; a[j+k]=(u+v-s)/2; a[i/2+j+k]=(-u+v+s)/2; } } } } int main(){ c[fread(c,1,40000010,stdin)]=0; int i; n=rd(); for(i=0;i<n;i++)a[i]=rd(); trans(a); for(i=0;i<n;i++)printf("%lld ",a[i]); }
[BZOJ5267]特工的更多相关文章
- 2016动作短片《全境封锁:特工起源》HD720P.英语中字
导演: 德文·格雷厄姆主演: Matt Lynch / Sasha Andreev / Amanda Day类型: 动作 / 短片制片国家/地区: 美国语言: 英语上映日期: 2016-01-19片长 ...
- 【图文】雪佛兰Suburban 美国特工标准座驾_新闻中心_易车网
[图文]雪佛兰Suburban 美国特工标准座驾_新闻中心_易车网 雪佛兰Suburban 美国特工标准座驾
- 宇宙探索特工队&scrum
对scrum的一些理解 Scrum是一种迭代式增量软件开发过程,通常用于敏捷软件开发.Scrum包括了一系列实践和预定义角色的过程骨架.Scrum中的主要角色包括同项目经理类似的Scrum主管角色负责 ...
- 现象级AR营销助力“口碑双十二”,蚂蚁特工在全国数万商户掀起“AR捉四宝”
领取阅读奖励金 今年双十二,全国人民吃喝玩乐放飞自我,嗨出了新纪元.除了见证你国人民的财力,这个“双十二”还诞生了教科书级的“AR营销”.无论是在口碑商户门口,还是在各大购物广场,都能看到举着手机,正 ...
- >>我要做特工系列 之 CSS 3_animation_向右滑出后下滑并停止
新手入门还没有正式发点啥东西,都是在装潢博客这个家了,到现在为止还是没有装修好..熟悉了这边的发布规范之后会持续在这里记录,给自己留下学习的脚印~ 这正式的第一篇随笔写个使用css3的动画效果. 总感 ...
- 【POI】T1 特工 szp
T1 特工szp [问题描述] Byteotian 中央情报局 (BIA) 雇佣了许多特工. 他们每个人的工作就是监视另一名特工.Byteasar 国王需要进行一次秘密行动,所以他要挑选尽量多的信得过 ...
- Asp.Net Mvc自定义控件之树形结构数据生成表格 - WPF特工队内部资料
最近项目中有一个需求,将树形结构的数据,以表格的形式展示在页面中,下图是最终呈现效果: 源码: @{ Layout = null; } <!DOCTYPE html> <html&g ...
- [异常特工]android常见bug跟踪
前言 对app的线上bug的收集(友盟.云捕等)有时会得到这样的异常堆栈信息:没有一行代码是有关自身程序代码的.这使得对bug的解决无从下手,根据经验,内存不足OOM,Dialog关闭,ListVie ...
- WPF报表自定义通用可筛选列头-WPF特工队内部资料
由于项目需要制作一个可通用的报表多行标题,且可实现各种类型的内容显示,包括文本.输入框.下拉框.多选框等(自定的显示内容可自行扩展),并支持参数绑定转换,效果如下: 源码结构 ColumnItem类: ...
随机推荐
- 【洛谷 P2761】 软件补丁问题(状态压缩,最短路)
题目链接 第四题. 初看题目很懵,网络流这么厉害的吗,毫无头绪去看题解.. 所以这和网络流有什么关系呢? 把规则用二进制保存下来,然后跑最短路救星了. 在线跑,离线连边太慢了. (以后干脆不管什么题直 ...
- 使用JQGrid 问题汇总 不定时更新
jqgrid左下角的复杂搜索框显示为下拉框样式searchoptions: { value: ": 全部; 1: 在用; 2: 报废", sopt: ['eq'] } jqgrid ...
- Nodejs mac版安装
Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine. Node.js uses an event-driven ...
- php中使用static方法
<?php class Char{ public static $number = 0; public static $name; function __construct($what){ se ...
- gpio子系统和pinctrl子系统(下)
情景分析 打算从两个角度来情景分析,先从bsp驱动工程师的角度,然后是驱动工程师的角度,下面以三星s3c6410 Pinctrl-samsung.c为例看看pinctrl输入参数的初始化过程(最开始的 ...
- Mongo 配置文件 [www]
Mongo 配置文件 [www] http://blog.chinaunix.net/uid-25206403-id-3510934.html mongodb 安装使用 http://blog.si ...
- VPS L2TP配置
原文地址:https://raymii.org/s/tutorials/IPSEC_L2TP_vpn_with_Ubuntu_14.04.html 只要保证ipsec verify没错,基本都可以成功 ...
- 【模板】BZOJ 3685: 普通van Emde Boas树——Treap
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=3685 据说神犇都是用zkw线段树水过的啊... 我蒟蒻只会写treap,加了fread之后8 ...
- web前端教程:用 CSS 实现三角形与平行四边形
最近在逛某个技术网站的时候,感觉文章关键词上的样式好酷炫啊,分页的样式.来张截图: 你在首页的底部也可以看到这样一个分页栏:是不是看上去还不错?下面就来看看这是如何实现的吧~ 第一种方法:利用bord ...
- Hadoop-MR[会用]MR程序的运行模式
1.简介 现在很少用到使用MR计算框架来实现功能,通常的做法是使用hive等工具辅助完成.但是对于其底层MR的原理还是有必要做一些了解. 2.MR客户端程序实现套路 这一小节总结归纳编写mr客户端程序 ...