zb的生日-------搜索 和 动态规划
简单的贪心算法 : http://love-oriented.com/pack/P01.html 说实话 我是喜欢 动态规划的.......但是省赛迫在眉睫 , 只好先 学 搜索了 , 赶紧 结束了 这三十道 搜索 然后 去开始 心爱的 动态规划!!! 下面 附上本人的 渣渣 代码
- #include<stdio.h>
- #include<string.h>
- #include<math.h>
- #include<iostream>
- #include<algorithm>
- #include<queue>
- #include<vector>
- using namespace std;
- int main()
- {
- int n,a[],f[],ave,i,total;
- while(scanf("%d",&n)!=EOF)
- {
- for(ave=i=;i<n;i++)
- {
- scanf("%d",&a[i]);
- ave+=a[i];
- }
- total=ave;
- ave/=n;
- memset(f,,sizeof(f));
- for(int i=;i<n;i++)
- {
- for(int j=ave;;j--)
- {
- if(ave-a[i]>=)
- break;
- f[j]=max(f[j],f[j-a[i]]+a[i]);
- }
- }
- printf("%d",total-*f[ave]);
- }
- }
然而现在学的是搜索 所以 还是 在用 搜索 在写一次吧 ,
搜搜搜 , 搜了半天 , 发现三目运算符能节省大量的时间 , 以后少用 max min 多用三目运算符吧 .
还有就是 稍微换一下搜索的方式 就会wr 我也没找到原因 , 方正以后还是 多写标准的.
- #include<stdio.h>
- #include<string.h>
- #include<math.h>
- #include<iostream>
- #include<algorithm>
- #include<queue>
- #include<vector>
- #include<set>
- #include<stack>
- #include<string>
- #include<sstream>
- #include<map>
- #include<cctype>
- using namespace std;
- int n,visited[];
- double tem,minx,a[];
- void DFS(int i,double sum)
- {
- if(minx>sum)
- {
- minx=minx>sum?sum:minx; // 太夸张了吧? 只是 把 min 改成三目运算符而已 , 就能让时间从888ms 到 400 ?
- return ;
- }
- if(minx==)
- return ;
- if(sum-a[i]>=)
- DFS(i+,sum-a[i]);
- DFS(i+,sum);
- }
- int main()
- {
- int i;
- double sum;
- while(scanf("%d",&n)==)
- {
- sum=;
- for(i=;i<n;i++)
- {
- scanf("%lf",&a[i]);
- sum+=a[i];
- }
- double tem=sum/;
- minx=tem-;
- DFS(,tem);
- printf("%.0lf\n",*minx);
- }
- return ;
- }
zb的生日-------搜索 和 动态规划的更多相关文章
- nyoj 0325 zb的生日(dp)
nyoj 0325 zb的生日 zb的生日 时间限制:3000 ms | 内存限制:65535 KB 难度:2 描述 今天是阴历七月初五,acm队员zb的生日.zb正在和C小加.never在武汉集 ...
- ACM zb的生日
zb的生日 时间限制:3000 ms | 内存限制:65535 KB 难度:2 描述 今天是阴历七月初五,acm队员zb的生日.zb正在和C小加.never在武汉集训.他想给这两位兄弟买点什么 ...
- zb的生日(暴搜dfs)
zb的生日 时间限制:3000 ms | 内存限制:65535 KB 难度:2 描述 今天是阴历七月初五,acm队员zb的生日.zb正在和C小加.never在武汉集训.他想给这两位兄弟买点什么 ...
- zb的生日
http://acm.nyist.net/JudgeOnline/problem.php?pid=325 zb的生日 时间限制:3000 ms | 内存限制:65535 KB 难度:2 描述 ...
- nyoj325 zb的生日(DFS)
zb的生日 时间限制:3000 ms | 内存限制:65535 KB 难度:2 描述 今天是阴历七月初五,acm队员zb的生日.zb正在和C小加.never在武汉集训.他想给这两位兄弟买点什么 ...
- nyoj 325 zb的生日
01背包 zb的生日 时间限制:3000 ms | 内存限制:65535 KB 难度:2 描述 今天是阴历七月初五,acm队员zb的生日.zb正在和C小加.never在武汉集训.他想给这两位兄 ...
- nyoj 325 zb的生日(dfs)
描述今天是阴历七月初五,acm队员zb的生日.zb正在和C小加.never在武汉集训.他想给这两位兄弟买点什么庆祝生日,经过调查,zb发现C小加和never都很喜欢吃西瓜,而且一吃就是一堆的那种,zb ...
- 【BZOJ2246】[SDOI2011]迷宫探险(搜索,动态规划)
[BZOJ2246][SDOI2011]迷宫探险(搜索,动态规划) 题面 BZOJ 洛谷 题解 乍一看似乎是可以求出每个东西是陷阱的概率,然而会发现前面走过的陷阱是不是陷阱实际上是会对当前状态产生影响 ...
- Luogu 2540 斗地主增强版(搜索,动态规划)
Luogu 2540 斗地主增强版(搜索,动态规划) Description 牛牛最近迷上了一种叫斗地主的扑克游戏.斗地主是一种使用黑桃.红心.梅花.方片的A到K加上大小王的共54张牌来进行的扑克牌游 ...
随机推荐
- 每日命令:(2)cd
Linux cd 命令可以说是Linux中最基本的命令语句,其他的命令语句要进行操作,都是建立在使用 cd 命令上的. 所以,学习Linux 常用命令,首先就要学好 cd 命令的使用方法技巧. 1. ...
- str类型内置方法
目录 str类型内置方法 用途 定义方式 常用操作和内置方法 优先掌握 需要掌握 了解 存一个值or多个值 有序or无序 可变or不可变 强化训练 str类型内置方法 用途 字符串数字.字母.下划线组 ...
- PAT 1145 Hashing - Average Search Time
The task of this problem is simple: insert a sequence of distinct positive integers into a hash tabl ...
- Vue如何tab切换高亮最简易方法
以往我们实现tab切换高亮通常是循环遍历先把所有的字体颜色改变为默认样式,再点亮当前点击的选项,而我们在vue框架中实现tab切换高亮显示并不需要如此,只需要将当前点击选项的index传入给一个变量, ...
- SRAM的简单概念
CY7C138 版权声明:本文为博主原创文章,未经博主允许不得转载.
- Git——跟踪或取消跟踪文件
在Git是用过程中,可能遇到以下情况: 1.被跟踪文件里面有不想跟踪的文件. 2.每次用git status查看状态时总是列出未被跟踪的文件. 解决方法: 1.当被跟踪的文件里面有不想跟踪的文件时,使 ...
- noip模拟赛 铺瓷砖
[问题描述]有一面很长很长的墙. 你需要在这面墙上贴上两行瓷砖. 你的手头有两种不同尺寸的瓷砖, 你希望用这两种瓷砖各贴一行.瓷砖的长可以用分数表示,贴在第一行的每块瓷砖长度为A/B贴在第二行的每块瓷 ...
- noip模拟赛 剪纸
题目描述 小芳有一张n*m的长方形纸片.每次小芳将会从这个纸片里面剪去一个最大的正方形纸片,直到全部剪完(剩下一个正方形)为止. 小芳总共能得到多少片正方形纸片? 输入输出格式 输入格式: 一行两个整 ...
- java实现WebService 以及客户端不同的调用方式
java 实现WebService 以及不同的调用方式 webservice: 就是应用程序之间跨语言的调用 wwww.webxml.com.cn 1.xml 2. ws ...
- js/jq仿window文件夹移动/剪切/复制等操作
1.先看下效果吧! 2.在添加一个index.html <!DOCTYPE html> <html lang="en"> <head> < ...