题面

题目都告诉我们是“金字塔”了,不妨分析分析$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的更多相关文章

  1. 【LeetCode】756. Pyramid Transition Matrix 解题报告(Python & C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 回溯法 日期 题目地址:https://leetco ...

  2. 【leetcode】756. Pyramid Transition Matrix

    题目如下: We are stacking blocks to form a pyramid. Each block has a color which is a one letter string, ...

  3. 【LeetCode】799. Champagne Tower 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 动态规划 参考资料 日期 题目地址:https:// ...

  4. SCNU ACM 2016新生赛决赛 解题报告

    新生初赛题目.解题思路.参考代码一览 A. 拒绝虐狗 Problem Description CZJ 去排队打饭的时候看到前面有几对情侣秀恩爱,作为单身狗的 CZJ 表示很难受. 现在给出一个字符串代 ...

  5. SCNU ACM 2016新生赛初赛 解题报告

    新生初赛题目.解题思路.参考代码一览 1001. 无聊的日常 Problem Description 两位小朋友小A和小B无聊时玩了个游戏,在限定时间内说出一排数字,那边说出的数大就赢,你的工作是帮他 ...

  6. HDU 3791二叉搜索树解题(解题报告)

    1.题目地址: http://acm.hdu.edu.cn/showproblem.php?pid=3791 2.参考解题 http://blog.csdn.net/u013447865/articl ...

  7. 【BZOJ1700】[Usaco2007 Jan]Problem Solving 解题 动态规划

    [BZOJ1700][Usaco2007 Jan]Problem Solving 解题 Description 过去的日子里,农夫John的牛没有任何题目. 可是现在他们有题目,有很多的题目. 精确地 ...

  8. CH Round #56 - 国庆节欢乐赛解题报告

    最近CH上的比赛很多,在此会全部写出解题报告,与大家交流一下解题方法与技巧. T1 魔幻森林 描述 Cortana来到了一片魔幻森林,这片森林可以被视作一个N*M的矩阵,矩阵中的每个位置上都长着一棵树 ...

  9. wechall.net/stegano 解题心得

    /* 转载请注明出处:http://www.cnblogs.com/Martinium/p/wechall_stegano.html */ 最近迷上了 www.wechall.net 网站,里面都是些 ...

随机推荐

  1. 安装GNU Radio及相关常用SDR软件的最简单方法

    本文内容.开发板及配件仅限用于学校或科研院所开展科研实验! 淘宝店铺名称:开源SDR实验室 HackRF链接:https://item.taobao.com/item.htm?spm=a1z10.1- ...

  2. XAMPP安装PHP_GMP

    CentOS 6.4 Xampp 7.1.12 下载PHP7.1.12的源码包 yum install gmp-devel yum install m4 .tar.xz cd /root/php-/e ...

  3. Flask之笔记集合

    目录 一.简述 二.基本使用 三.配置文件 四.路由系统 2.自定义正则路由 五.模版语言 六.请求和响应 七.Session 2.自定义session 八.蓝图 九.message 十.中间件 十一 ...

  4. LeetCode 303. Range Sum Query - Immutable (C++)

    题目: Given an integer array nums, find the sum of the elements between indices iand j (i ≤ j), inclus ...

  5. 第十二周作业_PSP总结报告

    回顾1 (1)回想一下你曾经对计算机专业的畅想 当初你是如何做出选择计算机专业的决定的?经过一个学期,你的看法改变了么,为什么? 你认为过去接触到的课程是否符合你对计算机专业的期待,为什么?经过一个学 ...

  6. 团队C++作业1

    我的分工 在本次作业中,我负责的是建筑类的完成还有调试运行. 建筑类的完成: 首先我认为建筑类的完成中,建筑类中应该有三个成员,水晶,防御塔,泉水. 水晶在这个里头是要被保护的对象,它的功能有回血还有 ...

  7. “吃神么,买神么”的第三个Sprint冲刺总结

    第三阶段Spring的目标以及完成情况: 时间:6.16——6.26(10天) 目标:第三阶段主要是前台设计的修改完善,以及数据库成功连接,完成小部分功能 情况:前台界面完善,完成小部分功能(发布功能 ...

  8. Java分布式应用

    分布式计算就是通过计算机网络将计算工作分布到多台主机上,多个主机一起协同完成工作. 我试着列一下相关知识吧. 网络通讯,网络是分布式的基础,对分布式的理解建立在对网络的理解上,包括: OSI模型的7层 ...

  9. Java实现小学四则运算练习

     Github项目地址:https://github.com/feser-xuan/Arithmetic.git 1.需求分析 软件基本功能要求如下: 程序可接收一个输入参数n,然后随机产生n道加减乘 ...

  10. node websocket学习研究

    websocket作为不同于http的数据传输方式,是开发一些实时系统的不二选择. 最近在研究开发websocket方面的小程序.小程序客户端直接对websocket做了封装.自己只要写后端就可以了. ...