bzoj千题计划294:bzoj3139: [Hnoi2013]比赛
http://www.lydsy.com/JudgeOnline/problem.php?id=3139
队伍的顺序不会影响结果
将队伍的得分情况作为状态,记忆化搜索
就是先搜索第一只队伍的得分情况,即为他分配分数
当第一只队伍的分数分配完时,它与其他队伍的比拼会使其他队伍也分配到了一定的分数
将其他队伍分配到的分数 这个状态 哈希
然后第二支队……,这就是子问题
啊啊啊,我也不知道我在说啥了
myl考场AC tql!!!
#include<algorithm>
#include<cstring>
#include<cstdio>
#include<map> #define N 11 using namespace std; typedef long long LL; const int mod=1e9+; int n,w[N]; map<LL,int>mp[N]; LL gethash(int *b,int p)
{
LL S=;
for(int i=p;i<=n;++i) S=S*+b[i];
return S;
} int dfs(int *val,int l,int r)
{
if(l==r)
{
if(val[l]) return ;
if(l==n) return ;
int b[N];
memcpy(b,val,sizeof(b));
sort(b+l+,b+n+);
LL S=gethash(b,l+);
if(mp[l+].find(S)==mp[l+].end()) mp[l+][S]=dfs(b,l+,n);
return mp[l+][S];
}
if(*(r-l)<val[l]) return ;
int tot=;
if(val[l]>=)
{
val[l]-=;
tot+=dfs(val,l,r-);
tot-=tot>=mod ? mod : ;
val[l]+=;
}
if(val[l] && val[r])
{
val[l]--; val[r]--;
tot+=dfs(val,l,r-);
tot-=tot>=mod ? mod : ;
val[l]++; val[r]++;
}
if(val[r]>=)
{
val[r]-=;
tot+=dfs(val,l,r-);
tot-=tot>=mod ? mod : ;
val[r]+=;
}
return tot;
} int main()
{
scanf("%d",&n);
for(int i=;i<=n;++i) scanf("%d",&w[i]);
printf("%d",dfs(w,,n));
}
bzoj千题计划294:bzoj3139: [Hnoi2013]比赛的更多相关文章
- bzoj千题计划300:bzoj4823: [Cqoi2017]老C的方块
http://www.lydsy.com/JudgeOnline/problem.php?id=4823 讨厌的形状就是四联通图 且左右各连一个方块 那么破坏所有满足条件的四联通就好了 按上图方式染色 ...
- bzoj千题计划142:bzoj3144: [Hnoi2013]切糕
http://www.lydsy.com/JudgeOnline/problem.php?id=3144 如果D=2 ,两个点,高度为4,建图如下 #include<queue> #inc ...
- bzoj千题计划295:bzoj3140: [Hnoi2013]消毒
http://www.lydsy.com/JudgeOnline/problem.php?id=3140 如果只有两维,那就是二分图最小点覆盖 现在是三维,但是a*b*c<=5000,说明最小的 ...
- bzoj千题计划293:bzoj3142: [Hnoi2013]数列
http://www.lydsy.com/JudgeOnline/problem.php?id=3142 如果已知数列的差分数列a[1]~a[k-1] 那么这种差分方式对答案的贡献为 N-Σ a[i] ...
- bzoj千题计划290:bzoj3143: [Hnoi2013]游走
http://www.lydsy.com/JudgeOnline/problem.php?id=3143 计算每条边经过的概率e[] 然后经过概率多的分配的编号大,经过概率少的分配的编号小 如何计算边 ...
- bzoj千题计划196:bzoj4826: [Hnoi2017]影魔
http://www.lydsy.com/JudgeOnline/problem.php?id=4826 吐槽一下bzoj这道题的排版是真丑... 我还是粘洛谷的题面吧... 提供p1的攻击力:i,j ...
- bzoj千题计划280:bzoj4592: [Shoi2015]脑洞治疗仪
http://www.lydsy.com/JudgeOnline/problem.php?id=4592 注意操作1 先挖再补,就是补的范围可以包含挖的范围 SHOI2015 的题 略水啊(逃) #i ...
- bzoj千题计划177:bzoj1858: [Scoi2010]序列操作
http://www.lydsy.com/JudgeOnline/problem.php?id=1858 2018 自己写的第1题,一遍过 ^_^ 元旦快乐 #include<cstdio> ...
- bzoj千题计划317:bzoj4650: [Noi2016]优秀的拆分(后缀数组+差分)
https://www.lydsy.com/JudgeOnline/problem.php?id=4650 如果能够预处理出 suf[i] 以i结尾的形式为AA的子串个数 pre[i] 以i开头的形式 ...
随机推荐
- Gulp:插件编写入门
之前挖了个坑,准备写篇gulp插件编写入门的科普文,之后迟迟没有动笔,因为不知道该肿么讲清楚Stream这货,毕竟,gulp插件的实现不像grunt插件的实现那么直观. 好吧,于是决定单刀直入了.文中 ...
- uwsgi+django架构程序内部无法获取全局变量
近期开发了一个djangoi程序,用django自带的python manage.py runserver 0.0.0.0:80 运行方式无任何问题,但用django+nginx+uwsg部署运行有时 ...
- Python列表知识点讲解
增删改查 增 X.append函数是在原有列表中的末尾追加一个新的元素存放在列表中 X.extend() 将一个列表中的元素添加到另一个列表中,将所引用的原列表保持不变,同时extend还可以运用到, ...
- ssm整合各配置文件
ssm整合 1.配置web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns ...
- M1阶段事后总结
设想和目标 1. 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述?我们组要爬取网上的内容供下一组使用,定义的不太清楚,因为用户只有下一个团队所以没有进行详细的需求分析 ...
- YQCB冲刺第二周绩效评价
标准队员 工作质量 20% 工作态度 20% 工作量 30% 工作难易程度 20% 团队意识 10% 总分 陈美琪 17 18 24 17 9 85 张晨阳 19 19 27 19 9 93 刘昭为 ...
- String基础
一: String,StringBuffer与StringBuilder的区别??String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程 ...
- 小学四则运算APP 第一个冲刺 第二天
团队成员:陈淑筠.杨家安.陈曦 团队选题:小学四则运算APP 第一次冲刺阶段时间:11.17~11.27 本次程序是为了解决上次判断的问题,但是还是出现新的问题页面无法调整,需要进行改进 本次改进代码 ...
- Vue---导航守卫使用方法详解
导航守卫 正如其名,vue-router 提供的导航守卫主要用来通过跳转或取消的方式守卫导航.有多种机会植入路由导航过程中:全局的, 单个路由独享的, 或者组件级的. 记住参数或查询的改变并不会触发进 ...
- requestMapping设置客户端访问地址