T1 f[i]为前i页最少被撕几页,用二分转移就行了,答案为ans=min(f[i]+(n-i)); 不知道为什么写挂了嗯 二分的l初始应该是0

  T2 数位DP f[i][1/0][1/0][1/0]表示第i位第一个数是1/0,第二个数是1/0,有无进位的方案数  转移非常恶心。。。  没看见正整数结果WA了,有想到x<y的trick但是觉得这方法应该不用理这个,结果是要的...其实也不知道这做法到底对不对,补题的时候看看吧 事实证明是可以的

  贴一波代码,好像大家做的方法都不一样  CYC的方法好喵喵哇,太强辣~ 我人比较傻逼没法治的唉(LLQ也是这种写法 都炒鸡强哇%%%

#include<iostream>
#include<cstdlib>
#include<cstring>
#include<cstdio>
#include<algorithm>
#include<queue>
#include<cmath>
#include<map>
#define ll long long
using namespace std;
const int maxn=,inf=1e9;
ll n,m,x,y,z,tot,cnt,digit[maxn];
ll f[][][][],ans;
void read(ll &k)
{
int f=;k=;char c=getchar();
while(c<''||c>'')c=='-'&&(f=-),c=getchar();
while(c<=''&&c>='')k=k*+c-'',c=getchar();
k*=f;
}
int main()
{
read(n);read(m);bool flag=;
if(n==m)flag=;
ll x=m,cnt2=;
while(n){digit[++cnt]=n&;n>>=;}
while(x){cnt2++;x>>=;}
if(cnt2>cnt)
{
puts("");
return ;
}
f[][][][]=;
for(int i=;i<=cnt;i++)
{
ll now=m&(1ll<<(i-));
if(now)
{
if(digit[i])
{
f[i][][][]+=f[i-][][][]+f[i-][][][]+f[i-][][][]+f[i-][][][];
f[i][][][]+=f[i-][][][]+f[i-][][][]+f[i-][][][]+f[i-][][][];
if(i==cnt)ans=f[i][][][]+f[i][][][];
}
else
{
f[i][][][]+=f[i-][][][]+f[i-][][][]+f[i-][][][]+f[i-][][][];
f[i][][][]+=f[i-][][][]+f[i-][][][]+f[i-][][][]+f[i-][][][];
}
}
else
{
if(digit[i])
{
f[i][][][]+=f[i-][][][]+f[i-][][][]+f[i-][][][];
f[i][][][]+=f[i-][][][]+f[i-][][][]+f[i-][][][];
if(i==cnt)ans=f[i][][][];
}
else
{
f[i][][][]+=f[i-][][][]+f[i-][][][]+f[i-][][][];
f[i][][][]+=f[i-][][][]+f[i-][][][]+f[i-][][][];
}
}
}
printf("%lld\n",flag?ans-:ans);
return ;
}

  T3 1s O(500^3)居然是可以过的TAT

    f[L][R]表示[L..R]这个区间的最小次数。

      暴力是个O(N^4)的,枚举两个区间,哈希判回文。。。不知道哪里又写挂了只拿了第一部分的暴力分

    O(N^3)的也很好想。。可以枚举[L..R]中的一点x,若a[R]==a[x],那么可以把[X+1..R-1]消剩下一个回文,然后把R和这个回文和X一起消掉,则有f[L][R]=min(f[L][R],f[L][X-1]+f[X+1][R-1]);

    码力太有问题了...可能创下了最快补完题记录,真的是每题都离正解一步...

    这已经不是一次两次了...不想着找原因老是觉得下次注意就行是不会解决的,这么粗糙的人不经过打磨也绝无可能取得好成绩,这段时间要尽力静下心改变自己了

    希望没有下一次

    

ContestHunter暑假欢乐赛 SRM 09(TJM大傻逼选手再创佳绩)的更多相关文章

  1. ContestHunter暑假欢乐赛 SRM 08

    rating再次跳水www A题贴HR题解!HR智商流选手太强啦!CYC也好强%%%发现了len>10大概率是Y B题 dp+bit优化,据LLQ大爷说splay也可以优化,都好强啊.. C题跑 ...

  2. ContestHunter暑假欢乐赛 SRM 02

    惨不忍睹 3个小时都干了些什么... 日常按顺序从A题开始(难度居然又不是递增的 第一眼A题就觉得很简单...写到一半才发现woc那是个环.感觉一下子复杂了,按照链的方法扩展的话要特判很多东西... ...

  3. ContestHunter暑假欢乐赛 SRM 01 - 儿童节常数赛 爆陵记

    最后15min过了两题...MDZZ 果然是不适合OI赛制啊...半场写完三题还自信满满的,还好有CZL报哪题错了嘿嘿嘿(这算不算犯规了(逃 悲惨的故事*1....如果没有CZL的话T1 10分 悲惨 ...

  4. ContestHunter暑假欢乐赛 SRM 15

    菜菜给题解,良心出题人!但我还是照常写SRM一句话题解吧... T1经典题正解好像是贪心...我比较蠢写了个DP,不过还跑的挺快的 f[i]=min( f[j-a[j]-1] )+1  { j+a[j ...

  5. ContestHunter暑假欢乐赛 SRM 06

    T1二分check...为什么这么显然的我没看出来TAT,还在想倒着加入并查集check什么的,题写太多思维定势啦QAQ T2是NOIP题的弱化版...当时没看出来,写了个DP.可以看出这一位比上一位 ...

  6. ContestHunter暑假欢乐赛 SRM 04

    逃了一场SRM(躺 A题可以看成0点到1点,有p的几率从0到1,1-p几率不动,求0到1的期望步数.很显然概率是不降序列数/n!,然后列个方程E[0] = E[0] * (1 - p) + 1,解得E ...

  7. ContestHunter暑假欢乐赛 SRM 05

    T1 组合数,求一下乘法逆元就行了 没取模 没1LL* 爆零了 T2 让最大子段和最小就行,跑最大子段和的时候若超过S就弹出堆中最大的数,每次有负数加进来不断弹出最小的数相加重新加进堆直到为正数,因为 ...

  8. ContestHunter暑假欢乐赛 SRM 03

    你们也没人提醒我有atcoderQAQ... A题曼哈顿距离=欧拉距离就是在同一行或者同一列,记录下i,j出现过的次数,减去就行,直接map过. B题一开始拿衣服了,一直以为排序和不排序答案是一个样的 ...

  9. CH暑假欢乐赛 SRM 07 天才麻将少女KPM(DP+treap)

    首先LIS有个$O(n^2)$的DP方法 $f(i,j)$表示前i个数,最后一个数<=j的LIS 如果$a_i!=0$则有 如果$a_i=0$则有 注意因为$f(i-1,j)\leq f(i-1 ...

随机推荐

  1. ElasticSearch搜索引擎安装配置中文分词器IK插件

    近几篇ElasticSearch系列: 1.阿里云服务器Linux系统安装配置ElasticSearch搜索引擎 2.Linux系统中ElasticSearch搜索引擎安装配置Head插件 3.Ela ...

  2. Appium_Python_API说明

    Appium_Python_API 1.contexts contexts(self): Returns the contexts within the current session. 返回当前会话 ...

  3. lintcode 二叉树中序遍历

    /** * Definition of TreeNode: * class TreeNode { * public: * int val; * TreeNode *left, *right; * Tr ...

  4. spark dataset join 使用方法java

    dataset<Row> df1,df2,df3 //该方法可以执行成功 df3= df1.join(df2,"post_id").selectExpr("h ...

  5. windows 7 安装docker

    下载docker-install.exe 下载链接 安装,一路next(安装完成后建议重启电脑) 点击桌面boot2docker Start图标,等待初始化,运行docker --version检验是 ...

  6. 理解Python中的__builtin__和__builtins__

    以Python 2.7为例,__builtin__模块和__builtins__模块的作用在很多情况下是相同的. 但是,在Python 3+中,__builtin__模块被命名为builtins. 所 ...

  7. ViewPager的简单使用说明

    前提:工程中使用ViewPager,需要导入google提供的jar包(android-support-v4.jar). 要学习ViewPager的使用,建议直接看官方文档 Creating Swip ...

  8. Nodejs中关于模块的总结

    关于Nodejs中的模块 概念 Nodejs在ECMAScript的基础上扩展并封装了许多高级特性,如文件访问.网络访问等,使得Nodejs成为一个很好的Web开发平台.基于Nodejs这个平台将We ...

  9. jQuery对象和DOM对象使用说明

    1.jQuery对象和DOM对象第一次学习jQuery,经常分辨不清哪些是jQuery对象,哪些是 DOM对象,因此需要重点了解jQuery对象和DOM对象以及它们之间的关系.DOM对象,即是我们用传 ...

  10. Windows平台下安装.net coreclr

    .net coreclr 已经发布RC1版本,安装方法如下: 1.安装DNVM,DNVM是.net运行时管理器,负责管理所有版本的.net运行时(.net framework..net coreclr ...