1.20小计
来源:互联网 发布:unity3d密室逃脱代码 编辑:程序博客网 时间:2024/04/29 05:30
咳咳,昨天智障一般地把4道题全部粘了下来并贴上代码,以后还是只写点有用的吧……
From easthong☆生产调度
描述 Description
某工厂收到了n个产品的订单,这n个产品分别在A、B两个车间加工,并且必须先在A车间加工后才可以到B车间加工。
某个产品i在A、B两车间加工的时间分别为Ai、Bi。怎样安排这n个产品的加工顺序,才能使总的加工时间最短。这里所说的加工时间是指:从开始加工第一个产品到最后所有的产品都已在A、B两车间加工完毕的时间。
输入格式 Input Format
第一行仅—个数据n(0
#include<iostream>#include<cstring>#include<cstdio>#include<string>#include<algorithm>#include<cmath>#include<utility>#include<stdio.h>#include<cstdlib>#include<iomanip> //cout<<setiosflags(ios::fixed)<<setprecision(2);#include<ctime> //double a=(double)clock(); cout<<a<<endl;#include<vector>#include<queue>using namespace std;int main(){ int a[1050],b[1050],c=0,d=0,n; cin>>n; for(int i=1;i<=n;i++) { cin>>a[i]; c+=a[i]; } for(int i=1;i<=n;i++) { cin>>b[i]; d+=b[i]; } sort(a+1,a+n+1); sort(b+1,b+n+1); cout<<max(c+b[1],d+a[1])<<endl;}
之后就真相了,记得开始的时候书上解析有好多好多,不过其实两个sort就可以解决,自己理解吧……
之后好像没什么好说的了
P1255 合唱队形 Sol.
简单的一个动态规划(喂喂)
#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>using namespace std;const int MAXN = 105;int n,num[MAXN],ans = 1;int dp1[MAXN],dp2[MAXN];int main(){ scanf("%d",&n); for(int i = 1; i <= n; i ++) scanf("%d",&num[i]),dp1[i] = dp2[i] = 1; //第一遍 最长上升 for(int i = 1; i <= n; i ++) for(int j = 1; j < i; j ++) if(num[j] < num[i]) dp1[i] = max(dp1[i],dp1[j] + 1); //第二遍 最长下降 for(int i = n; i >= 1; i --) for(int j = n; j > i; j --) if(num[j] < num[i]) dp2[i] = max(dp2[i],dp2[j] + 1); for(int i = 1; i <= n; i ++) ans = max(ans,dp1[i] + dp2[i] - 1);//去掉最中间算重的人 printf("%d\n",n - ans); return 0;}
Unaccepted P1193 显示图像
这道题好像还没有过
#include <iostream>#include <fstream>using namespace std;int go[4][2]={-1,0,0,1,1,0,0,-1};int b[1000000][2],f[1000000][2],a[1001][1001],ans[1001][1001],n,m,num;void init()//预处理,求出每一个白格子的坐标{ int i,j,x; cin>>n>>m; for (i=1;i<=n;i++) { for (j=1;j<=m;j++) { cin>>a[i][j]; if (a[i][j]==1) { b[++num][0]=i; b[num][1]=j; } } }}void bfs(int head,int num1)//广度优先搜索{ int x,y,i,x1,y1,till=1; f[1][0]=b[num1][0]; f[1][1]=b[num1][1];//把白格子入队 while (head<=till) { head++; x=f[head][0]; y=f[head][1]; for (i=0;i<4;i++) { x1=x+go[i][0]; y1=y+go[i][1]; if(x1>0&&x1<=n&&y1>0&&y1<=m&&a[x1][y1]==0)//判断扩展的结点是否符合条件 { if (ans[x1][y1]==0||ans[x][y]+1<ans[x1][y1])// 若此结点没走过或当前答案由于之前的答案,则更新答案,同样也可以避免走回头路的情况发生 { till++; f[till][0]=x1; //入队 f[till][1]=y1; ans[x1][y1]=ans[x][y]+1;//更新答案 } } } }}void print(){ int i,j; for (i=1;i<=n;i++) { for (j=1;j<=m;j++) cout<<ans[i][j]<<' '; cout<<endl; }}int main(){ init(); for (int i=0;i<num;i++) bfs(0,i+1);//以每个白格子为起点进行广度优先搜索 print(); return 0;}
如上然后就没有然后了
0 0
- 1.20小计
- 小计
- 小计
- oracle小计
- 学习小计
- ISPCP 小计
- SMARTFORMS 小计
- MM小计
- html小计
- ABAP小计
- 树小计
- 随笔小计
- typedef小计
- 小计 合计
- 接口小计~~~~
- EditText小计
- 第一章小计
- 小计划
- POJ 3984 迷宫问题
- makefile 模板使用 c语言具体实例 honker
- Android 手势识别(单击 双击 抬起 短按 长按 滚动 滑动)
- Centos实践之路
- IOS开发之判断IPHONE连接的网络(WIFI,2G,3G,4G)是IPV4还是IPV6网络
- 1.20小计
- libjpeg库编码图片为jpg(ffmpeg解码视频存储图片:RGB格式位图压缩为jpg格式图片)
- mysql服务操作shell脚本
- 先来设置CentOS Linux release 7.2.1511 (Core)的ip,firewall等
- RPC、ORB、MOM三类中间件比较
- win7下搭建Nginx简单图片服务器
- HDU 2085 核反应堆
- Java中有关List的学习笔记
- 文件夹的创建,删除,重命名,怎么同时创建多个文件夹