陕西师范第七届K题----动态规划
ps: 自己的方法绝对是弱爆了
肯定存在更优的方法
O(n^3)复杂度 暴力求解的。。
链接:https://www.nowcoder.com/acm/contest/121/K
来源:牛客网
柯怡最近开始沉迷赌博,比如跟别人赌这次陕西皇家女子学院举办的校赛里面,AK人数的奇偶;
而这种赌博显然柯怡稳赚不赔,因为她可以偷偷参加校赛,然后在最后一分钟观察AK的人数,如果她赌的是奇数而那时有偶数个人AK,她只要用这剩下的一分钟自己AK一次就可以让数量变回偶数了;
聪明的ddjing发现了老千柯怡的阴险套路,万般无奈的柯怡只好更改赌博的套路,这次她觉得跟ddjing玩猜数字;
这个游戏很简单,规则是,柯怡和ddjing在游戏开始前,先规定数字的范围是1到n,而柯怡则从这n个数里面选出一个x并默默记在心中,每次ddjing去猜一个数y,柯怡会告诉ddjing,他是猜大了(y>x)还是猜小了(y<x),亦或者是猜对了(y==x);
而赌注则是,每次ddjing去猜一个数y的时候,若他没有猜中,那么他就需要向柯怡赠送y套女装(因为这是柯怡的最爱),如果他猜中了,那柯怡将会穿着小裙裙来到比赛现场给大家发气球;
虽然柯怡允许每次游戏的时候,ddjing可以猜任意次,直到猜中为止,但这显然可以为柯怡提供出千的可能,比如说,柯怡心中所选之数是x1,而ddjing第一次就猜中了,然后柯怡就会马上变更她心中所选之数为x2,同时告诉ddjing他猜大了还是猜小了,但柯怡不会破坏游戏规则(比如说ddjing猜了5,柯怡告诉ddjing猜大了,那新的数就不能是小于等于5的数);
虽然ddjing知道这个游戏有很大的出千空间,但他知道,只要付出足够多的女装,就能稳定赢得最后的胜利;
但ddjing手头比较紧,他想知道,对于猜测1~n的游戏,在柯怡不断出千的情况下,他最少要准备多少套女装,才能保证一定能猜到最终结果;
输入描述:
第一行一个整数T(T<=100),代表数据组数;
对于每组数据,只有一行整数n(n<=300),代表游戏的数字范围;
输出描述:
对于每组数据,输出一个整数,代表ddjing至少需要准备的女装数目;
输入例子:
3
1
2
3
输出例子:
0
1
2
-->
说明
当n=1时,ddjing只要猜1就能猜中,所以不用赠送女装;
当n=2时,ddjing柯怡猜1,下一次就肯定能猜中,所以只需要赠送一件女装就好;
当n=3时,ddjing只要猜2,下一次就肯定能猜中,只需要要赠送两件女装就好;
#include <bits/stdc++.h>
using namespace std;
const int N=;
const int INF=0x3f3f3f3f;
int dp[N][N];
int main ()
{
for (int l=;l<=;l++)
for (int i=;i+l<=;i++) {
int j=i+l-;
dp[i][j]=INF;
for (int k=i;k<=j;k++) {
int t1=,t2=;
if (k!=i) t1=dp[i][k-];
if (k!=j) t2=dp[k+][j];
int tmp=max (t1,t2)+k;
dp[i][j]=min (dp[i][j],tmp);
}
}
int T; scanf ("%d",&T);
while (T--) {
int n; scanf ("%d",&n);
printf("%d\n",dp[][n]);
}
return ;
}
陕西师范第七届K题----动态规划的更多相关文章
- 陕西师范第七届I题----排队
链接:https://www.nowcoder.com/acm/contest/121/I来源:牛客网 题目描述 ACM竞赛队内要开运动会啦!!!! 竞赛队内的一群阳光乐观积极的队员们迅速的在操场上站 ...
- 陕西师范大学第七届程序设计竞赛网络同步赛D ZQ的睡前故事【约瑟夫环1-N数到第k个出队,输出出队顺序/ STL模拟】
链接:https://www.nowcoder.com/acm/contest/121/D来源:牛客网 题目描述 ZQ是一个拥有n女朋友的万人迷,她的每一个女朋友每天晚上都会挨个给他打电话,要他讲了睡 ...
- 陕西师范大学第七届程序设计竞赛网络同步赛 F WWX的礼物【数学/k进制下x^n的位数/log】
链接:https://www.nowcoder.com/acm/contest/121/F来源:牛客网 题目描述 WWX的女朋友送给了他一个礼物,可是礼物却被一把K进制密码锁锁住了.在礼物盒上还有一张 ...
- 陕西师范大学第七届程序设计竞赛网络同步赛 I 排队排队排队【数组任一位可以移动到队头,最少移动几次增序/数组指针操作】
链接:https://www.nowcoder.com/acm/contest/121/I来源:牛客网 题目描述 ACM竞赛队内要开运动会啦!!!! 竞赛队内的一群阳光乐观积极的队员们迅速的在操场上站 ...
- 陕西师范大学第七届程序设计竞赛网络同步赛 J 黑猫的小老弟【数论/法拉数列/欧拉函数】
链接:https://www.nowcoder.com/acm/contest/121/J来源:牛客网 题目描述 大家知道,黑猫有很多的迷弟迷妹,当然也有相亲相爱的基友,这其中就有一些二五仔是黑猫的小 ...
- [蓝桥杯][2016年第七届真题]路径之谜(dfs)
题目描述 小明冒充X星球的骑士,进入了一个奇怪的城堡. 城堡里边什么都没有,只有方形石头铺成的地面. 假设城堡地面是 n x n 个方格.[如图1.png]所示. 按习俗,骑士要从西北角走到东南角. ...
- 陕西师范大学第七届程序设计竞赛网络同步赛 C iko和她的糖【贪心/ STL-优先队列/ 从1-N每个点有能量补充,每段有消耗,选三个点剩下最多能量】
链接:https://www.nowcoder.com/acm/contest/121/C来源:牛客网 题目描述 iko超级超级喜欢吃糖,有一天iko想出去玩,她计划从1点走到N点(按1,2,3,.. ...
- 2016 第七届蓝桥杯 c/c++ B组省赛真题及解题报告
2016 第七届蓝桥杯 c/c++ B组省赛真题及解题报告 勘误1:第6题第4个 if最后一个条件粗心写错了,答案应为1580. 条件应为abs(a[3]-a[7])!=1,宝宝心理苦啊.!感谢zzh ...
- ZZUOJ-1195-OS Job Scheduling(郑州大学第七届ACM大学生程序设计竞赛E题)
1195: OS Job Scheduling Time Limit: 2 Sec Memory Limit: 128 MB Submit: 106 Solved: 35 [id=1195&quo ...
随机推荐
- 禁止网站被别人通过iframe引用
https://blog.csdn.net/dugujiancheng/article/details/51669164 解决方案一:js方法这种方法不可靠,不推荐使用 <script type ...
- Scanner类完成用户键盘录入
l Scanner类 Scanner类是引用数据类型的一种,我们可以使用该类来完成用户键盘录入,获取到录入的数据. Scanner使用步骤: 导包:import java.util.Scanner; ...
- 统计一行文本的单词个数 (15 分) 本题目要求编写程序统计一行字符中单词的个数。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。 输入格式: 输入给出一行字符。 输出格式: 在一行中输出单词个数。 输入样例: Let's go to room 209. 输出样例: 5
MD,一开始就想着怎么 用空格和结尾前判断字母 来计算写的头的爆了, 反过来判断空格后面是否有 =‘ ’就尼玛容易多了 #include<stdio.h> #include<stdl ...
- Redis的JAVA连接
ShardedJedis用法 package com.zhi.demo; import java.util.Arrays; import java.util.List; import redis.cl ...
- Oracle 如何循环查询结果集,进行新增或修改
Oracle的PL/SQL中怎样循环查询的结果集,然后根据查询结果进行判断,是新增或修改操作 loop循环例子 for item in (select a,b,c from table_a where ...
- 【2】IOS APP打包发布
目的: 本文的目的是对IOS APP打包发布做了对应的介绍,大家可根据文档步骤进行mac环境部署: 申请苹果开发者账号 此处略 创建申请证书 这样做的目的就是为你的电脑安装发布许可证,只有这样你的电脑 ...
- am335x system upgrade uboot sd boot(一)
由于上层应用的需求,需要运行arm docker,在kernel3.2上面还不支持,且编译器的glibc版本比较低的问题,故需要做系统升级 新的内核4.14.40驱动开发和以往有很大的不同,关键在于d ...
- 原生js(form)验证,可以借鉴下思路,应用到工作中
我在工作中时常使用form验证,在目前的公司做的表单验证用的angular的form组件,对于一个有追求的前端,或者应用在移动端写个form验证,引入angular或者jquery组件等验证,难免显得 ...
- 十. Python基础(10)--装饰器
十. Python基础(10)--装饰器 1 ● 装饰器 A decorator is a function that take a function as an argument and retur ...
- node fs 解决回调地域问题
promisify问题 promisify = require('util).promisify const read = promisify( fs.readFile); read('input.t ...