解题:CF983B pyramid
题目都告诉我们是“金字塔”了,不妨分析分析$f$的性质
$f(a_1,a_2)=f(a_1$ $xor$ $a_2)=a1$ $xor$ $a_2$
$f(a_1,a_2,a_3)=f(a_1$ $xor$ $a_2,a_2$ $xor$ $a_3)=a_1$ $xor$ $a_3=f(a_1,a_2)$ $xor$ $f(a_2,a_3)$
$f(a_1,a_2,a_3,a_4)=f(a_1$ $xor$ $a_2,a_2$ $xor$ $a_3,a_3$ $xor$ $a_4)=f(a_1$ $xor$ $a_3,a_2$ $xor$ $a_4)=a_1$ $xor$ $a_2$ $xor$ $a_3$ $xor$ $a_4=f(a_1,a_2,a_3)$ $xor$ $f(a_2,a_3,a_4)$
......
可以用数(da)学(li)归(da)纳(biao)法证明,$f(a_1,a_2,...,a_n)=f(a_1,a_2,...,a_{n-1})$ $xor$ $f(a_2,a_3,...,a_n)$
然后就是不会DP的蒟蒻都会做的区间(大概不算?)DP辣
设$dp[i][j]$表示$(i,j)$的最优答案,那么有枚举长度$i$和起点$j$,就有$dp[j][j+i-1]=max(max(dp[j+1][j+i-1],dp[j][j+i-2]),f(j,j+i-1))$,水水
//get~
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int N=;
int num[N],xorr[N][N],dp[N][N];
int n,m,t1,t2;
int xoring(int l,int r)
{
if(l==r) return num[l];
if(~xorr[l][r]) return xorr[l][r];
return xorr[l][r]=(xoring(l,r-)^xoring(l+,r));
}
int main ()
{
scanf("%d",&n);
for(int i=;i<=n;i++)
scanf("%d",&num[i]);
scanf("%d",&m);
memset(xorr,-,sizeof xorr);
for(int i=;i<=n;i++)
for(int j=;j<=n-i+;j++)
dp[j][j+i-]=max(max(dp[j+][j+i-],dp[j][j+i-]),xoring(j,j+i-));
for(int i=;i<=m;i++)
scanf("%d%d",&t1,&t2),printf("%d\n",dp[t1][t2]);
return ;
}
解题:CF983B pyramid的更多相关文章
- 【LeetCode】756. Pyramid Transition Matrix 解题报告(Python & C++)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 回溯法 日期 题目地址:https://leetco ...
- 【leetcode】756. Pyramid Transition Matrix
题目如下: We are stacking blocks to form a pyramid. Each block has a color which is a one letter string, ...
- 【LeetCode】799. Champagne Tower 解题报告(Python)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 动态规划 参考资料 日期 题目地址:https:// ...
- SCNU ACM 2016新生赛决赛 解题报告
新生初赛题目.解题思路.参考代码一览 A. 拒绝虐狗 Problem Description CZJ 去排队打饭的时候看到前面有几对情侣秀恩爱,作为单身狗的 CZJ 表示很难受. 现在给出一个字符串代 ...
- SCNU ACM 2016新生赛初赛 解题报告
新生初赛题目.解题思路.参考代码一览 1001. 无聊的日常 Problem Description 两位小朋友小A和小B无聊时玩了个游戏,在限定时间内说出一排数字,那边说出的数大就赢,你的工作是帮他 ...
- HDU 3791二叉搜索树解题(解题报告)
1.题目地址: http://acm.hdu.edu.cn/showproblem.php?pid=3791 2.参考解题 http://blog.csdn.net/u013447865/articl ...
- 【BZOJ1700】[Usaco2007 Jan]Problem Solving 解题 动态规划
[BZOJ1700][Usaco2007 Jan]Problem Solving 解题 Description 过去的日子里,农夫John的牛没有任何题目. 可是现在他们有题目,有很多的题目. 精确地 ...
- CH Round #56 - 国庆节欢乐赛解题报告
最近CH上的比赛很多,在此会全部写出解题报告,与大家交流一下解题方法与技巧. T1 魔幻森林 描述 Cortana来到了一片魔幻森林,这片森林可以被视作一个N*M的矩阵,矩阵中的每个位置上都长着一棵树 ...
- wechall.net/stegano 解题心得
/* 转载请注明出处:http://www.cnblogs.com/Martinium/p/wechall_stegano.html */ 最近迷上了 www.wechall.net 网站,里面都是些 ...
随机推荐
- Netty源码分析第8章(高性能工具类FastThreadLocal和Recycler)---->第5节: 同线程回收对象
Netty源码分析第八章: 高性能工具类FastThreadLocal和Recycler 第五节: 同线程回收对象 上一小节剖析了从recycler中获取一个对象, 这一小节分析在创建和回收是同线程的 ...
- Sublime Text Build System——编译运行Java
今天Google如何在ST中编译运行Java的时候,无意中发现了一个更好的方法. 其实,在ST中是可以编译Java的,但是运行不了,因为没有配置运行命令.那么一般的配置方法都是如下的: http:// ...
- PHP使用Sublime Text3技巧
1 下载安装 2 安装Package Control 3 安装插件 4 快捷键 5 项目管理 6 设置代理 PHP开发时,笔者用过EditPlus3.Nodpad++.Vi.Vim和Netbeans, ...
- DFS--障碍在指定时间会消失
哈利被困在了一个魔法花园里.魔法花园是一个 N*M 的矩形,在其中有着许多植物, 这些植物会在时刻 K 的倍数消失. 哈利每单位时间都会选择上.下.左.右四 个方向的其中一个进行移动. #includ ...
- POJ 1239 Increasing Sequences 动态规划
题目链接: http://poj.org/problem?id=1239 Increasing Sequences Time Limit: 1000MSMemory Limit: 10000K 问题描 ...
- 团队作业4--第一次项目冲刺2(Alpha版本)
1.会议 第二次会议: ①:总结第一天任务出现的问题 ②:安排下面两天的任务 2任务安排 3.任务分解图 4.燃尽图 5.适当的项目程序/模块的最新(运行)截图 6.心得 因为做前端的同学并不擅长这方 ...
- bubble_sort(归并排序)
★实验任务 给定一个 1~N 的排列 P,即 1 到 N 中的每个数在 P 都只出现一次. 现在要 对排列 P 进行冒泡排序,代码如下: for (int i = 1; i <= N; ++i) ...
- profibus 的DPV0 和DPV1
DP的功能经过扩展,一共有3个版本:DP-V0,DP-V1和DP-V2.有的用户手册将DP-V1简写为DPV1. 1.基本功能(DP-V0) (1)总线访问方法:各主站之间为令牌传送,主站与从站间为主 ...
- 如何修改eclipse下注释的颜色
修改注释颜色:window -- preferences -- java --editor --syntax coloring -- comments 中的前两个就是修改注释颜色的.点击右边的colo ...
- 命令行执行python文件时提示ImportError: No module named 'xxx'
背景: 最近在写接口自动化测试框架的时候发现,框架使用pycharm ide的时候可以正常跑测试用例,但是在dos窗口输入命令执行测试的时候,import项目内部的包时报错“ModuleNotFoun ...