解题: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 网站,里面都是些 ...
随机推荐
- spring-framework-reference(5.1.1.RELEASE)中文版——Core部分
前言 最近在学习Spring框架,在学习的同时,借助有道翻译,整理翻译了部分文档,由于尚在学习当中,所以该篇文章将会定时更新,目标在一个月左右时间翻译完全部版本. 虽然大部分内容为翻译,但是其中可能会 ...
- Less 的用法
1. node.js node.js是一个前端的框架 自带一个包管理工具npm node.js 的安装 官网:http://nodejs.cn/ 在命令行检验是否安装成功 切换到项目目录,初始化了一个 ...
- 记一次centos6升级salt-minion启动失败的问题
记一次centos6升级salt-minion启动失败的问题 作者:耀耀 blog:https://www.liuyao.me 一.起因 升级Salt-minion后 使用/etc/init.d/sa ...
- md5sum命令详解
基础命令学习目录首页 原文链接:https://blog.csdn.net/cbbbc/article/details/48563023 前言 在网络传输.设备之间转存.复制大文件等时,可能会出现传输 ...
- nice和renice命令详解
基础命令学习目录首页 进程调度是linux中非常重要的概念.linux内核有一套高效复杂的调度机制,能使效率极大化,但有时为了实现特定的要求,需要一定的人工干预.比如,你希望操作系统能分配更多的CPU ...
- Python爬虫框架Scrapy学习笔记原创
字号 scrapy [TOC] 开始 scrapy安装 首先手动安装windows版本的Twisted https://www.lfd.uci.edu/~gohlke/pythonlibs/#twi ...
- jQuery获取复选框选中的每一个值
$('input[name="serviceMode"]:checked').each(function(){ this.attr('value') });
- 第一次作业——MathExam285
MathExam285 一.预估与实际 PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划 • Estimate ...
- 树莓派 Raspberry-Pi 折腾系列:系统安装及一些必要的配置
入手树莓派将近一个月了,很折腾,许多资源不好找,也很乱.简单整理一下自己用到的东西,方便以后自己或别人继续折腾. 0. 操作系统下载 树莓派官方 Raspbian 系统下载:http://www.ra ...
- Task 6.4 冲刺Two之站立会议4
今天对主界面部分的代码进行了完善,因为主界面有对于用户账号的设置.包括头像修改.增删好友.进入聊天界面等功能,包含的内容很多.我主要是负责跟聊天界面的连接以及账号设置的部分:遇到的问题有,因为这部分依 ...