8-14-小练

这次是我这组出题......我出的是B、C、D【虽然本来是想出的很难......╮(╯▽╰)╭但是,没找到AC1000+同时又让我想出的难题......SO...我出的真的不难= =】,荆红出的是A,从此不再出的是D......

A.HDU 1789    Doing Homework again

用贪心做~先按分数从大到小排,若分数相同则按天数从大到小排。排好后,从头开始扫描,扫到未标记的点,就进行标记(A),同时看A点后是否还有要在A点的天数之内一定要完成的作业,直到把A点的天数填完,若天数不够填,则证明哪一门作业无法按时完成~

代码:

 1 #include <iostream>
 2 #include <cstdio>
 3 #include <algorithm>
 4 #include <cstring>
 5 using namespace std;
 6
 7 class Node
 8 {
 9 public:
10     int x,y;
11 }a[1010];
12
13 bool comp(Node w,Node q)
14 {
15     if(w.x==q.x)
16         return w.y>q.y;
17     return w.x>q.x;
18 }
19
20 int main()
21 {
22     int t,number,b[1010],i,j,n;
23     scanf("%d",&t);
24     while(t--)
25     {
26         scanf("%d",&n);
27         memset(a,0,sizeof(a));
28         for(i=0;i<n;i++)
29             scanf("%d",&a[i].y);
30         for(i=0;i<n;i++)
31             scanf("%d",&a[i].x);
32         sort(a,a+n,comp);
33         number=0;
34         memset(b,0,sizeof(b));
35         for(i=0;i<n;i++)
36         {
37             for(j=a[i].y;j>0;j--)
38                 if(b[j]==0)
39                 {
40                     b[j]=1;
41                     break;
42                 }
43             if(j==0)
44                 number+=a[i].x;
45         }
46         printf("%d\n",number);
47     }
48     return 0;
49 }

B.HDU 1846    Brave Game        &&       C.HDU 1527    取石子游戏

这两道单独写的有:链接╮(╯▽╰)╭

D.POJ 1844     Sum

一道小清新的趣味数学题~【很有趣吧╮(╯▽╰)╭】

sum=1+2+3+4+...+i

当sum==s时,直接输出i;

当上一步无法做到时,则当第一次达到(sum-s)%2==0时,输出i即可~

证明【第二步,即此时sum达不到s,且sum>s】:

res=sum-s;

其实仔细想一想~很容易知道当改变sum里的+号时,sum永远是减去一个偶数【why?比如把sum中j前的加号改为减号,就是相当于sum-j-j,会减去2*j】~

SO~若res为奇数,无论如何改变sum中的加号,res永远都无法为0;只有res为偶数时,才有机会通过改变sum中的加号为0。因此当sum无法恰好达到s时,那么第一次达到res%2==0的i就是所求值~~~

代码:

#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;int main()
{int s,sum,i,res;while(~scanf("%d",&s)){sum=0;res=0;for(i=1;;i++){sum+=i;res=sum-s;if(sum==s) break;if(res>0 && res%2==0)break;}printf("%d\n",i);}return 0;
}

//memory:164KB   time:0ms

E.HDU 1142    A Walk Through the Forest

dijkstra+记忆化搜索

代码:

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<string.h>
 4 #define N 1010
 5 #define INF 2000000000
 6
 7 using namespace std;
 8
 9 int map[N][N],lowcost[N],visited[N],d[N],p[N];
10
11
12 void dijkstra(int s,int n)
13 {
14     memset(visited,false,sizeof(visited));
15     int i,j,k,min;
16     for(i=1;i<=n;i++)
17     {
18         lowcost[i]=map[s][i];
19     }
20     d[s]=0;
21     visited[s]=true;
22     for(i=1;i<n;i++)
23     {
24         min=INF;
25         for(j=1;j<=n;j++)
26         {
27             if(!visited[j]&&min>lowcost[j])
28             {
29                 min=lowcost[j];
30                 k=j;
31             }
32         }
33         d[k]=min;
34         visited[k]=true;
35         for(j=1;j<=n;j++)
36         {
37             if(!visited[j]&&lowcost[j]>map[k][j]+d[k])
38                 lowcost[j]=map[k][j]+d[k];
39         }
40     }
41 }
42
43 int DFS(int s,int n)
44 {
45     if(p[s]) return p[s];
46     if(s==2)  return 1;
47     int i,sum=0;
48     for(i=1;i<=n;i++)
49     {
50         if(map[s][i]<INF&&d[s]>d[i])
51         {
52             if(p[i]) sum=sum+p[i];
53             else sum=sum+DFS(i,n);
54         }
55     }
56     sum=sum+p[s];
57     p[s]=sum;
58     return p[s];
59 }
60
61 int main()
62 {
63     int i,j,n,m,u,v,w;
64     while(cin>>n&&n)
65     {
66         cin>>m;
67         memset(p,0,sizeof(p));
68         for(i=1;i<=n;i++)
69         {
70             for(j=1;j<=n;j++)
71             {
72                 map[i][j]=(i==j?0:INF);
73             }
74         }
75         for(i=0;i<m;i++)
76         {
77             scanf("%d%d%d",&u,&v,&w);
78             map[u][v]=map[v][u]=w;
79         }
80         dijkstra(2,n);
81         cout<<DFS(1,n)<<endl;
82     }
83     return 0;
84 }

//memory:4276KB    time:78ms

转载于:https://www.cnblogs.com/teilawll/p/3260172.html

8-14-Exercise相关推荐

  1. 【C++】关联容器学习记录

    STL六大组件关系 Containe通过Allocator取得数据存储空间,Algorithm通过Iterator存取Container,Functor内容可以协助Algorithm完成不同的策略变化 ...

  2. Eloquent JavaScript 笔记 十九:Node.js

    1. Background 可以略过. 2. Asynchronicity 讲同步和异步的基本原理,可以略过. 3. The Node Command 首先,访问 nodejs.org 网站,安装no ...

  3. Python 模块大全(很详细!)

    转载:.... Python的模块大全,很全,有详细介绍! 另外附Python两个教程 1. Python详细教程(廖雪峰的官方网站,语言简洁!) 2. Python 进阶教程 (Vamei) 3. ...

  4. (14)Why some people find exercise harder than others

    https://www.ted.com/talks/emily_balcetis_why_some_people_find_exercise_harder_than_others/transcript ...

  5. 【Kaggle Learn】Python 1-4

    [Kaggle Learn]Python https://www.kaggle.com/learn/python 一. Hello, Python A quick introduction to Py ...

  6. 笨办法学 Python · 续 练习 14:双链表

    练习 14:双链表 原文:Exercise 14: Double Linked Lists 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 以前的练习可能需要花一段时间才能完成, ...

  7. symmetry methods for differential equations,exercise 1.4

    tex文档: 1 \documentclass[a4paper, 12pt]{article} % Font size (can be 10pt, 11pt or 12pt) and paper si ...

  8. Lesson 13-14 How often do you exercise?

    一 Words 1 stuck in 卡在 e.g. Many over 30s feel stuck in a financial rut发情期,车辙. 很多超过30岁的人都觉得自己的经济状况很难有 ...

  9. Matlab笔记(台大郭彦甫14课)

    台大郭彦甫老师Matlab教程 Applications of Matlab in Engineering https://www.bilibili.com/video/BV1GJ41137UH?p= ...

  10. 台大郭彦甫-Matlab软件学习课堂exercise示例(第二讲)

    台大郭彦甫-Matlab软件学习课堂exercise示例 (仅供参考) 第二讲 基本操作与矩阵输入 (P6 exercise) >> cos(((1+2+3+4)^3/5)^(1/2))a ...

最新文章

  1. FFT镜头效果的新进展
  2. Windows XP安装Python,最高支持到3.4.4,后续版本不支持
  3. 百度搜索结果 转换_如何让图片出现在百度搜索结果里出现?
  4. linux centos lamp,Centos下搭建LAMP
  5. matlab arima模型定阶,ARIMA模型预测问题
  6. 简单话题:LED呼吸灯和串口LED指示灯
  7. koa2后端和php后端,vue+koa2+mongo前后端分离restful,配置和部署到云
  8. 宽度学习(一):宽度学习体系:有效和高效的无需深度架构的增量学习系统
  9. java读取欧姆龙plc,寄存器读取命令响应超时 欧姆龙plc寄存器读取命
  10. Linux打印服务-CUPS的安装、配置和使用
  11. 明哥,给大学生的几点建议
  12. 分享 那些经典电影的经典台词
  13. 递归例题讲解 一本通1215:迷宫 答案解析
  14. px5 连接充电器是充电指示灯熄灭
  15. 外贸必备通讯工具之一,AntTone 的介绍及使用教程
  16. ssm基于Android的自来水收费系统APP-计算机毕业设计
  17. 亚马逊ec2 删除实例_学习使用Amazon EC2实例部署php应用程序
  18. 功耗大好还是小好_功率因数大好还是小好?功率因数低有什么危害
  19. android仿iphone的时间轮的工具demo,利用swiper仿iphone时间设置滚轮控件(示例代码)...
  20. java 猫_猫,狗叫JAVA

热门文章

  1. sqlalchemy exists 子查询_学好ORM框架SQLAlchemy面试必问
  2. sublime php 乱码,sublime打开TXT文件乱码的问题
  3. volumill插件下载网盘地址_IDM也可以下载磁力链接?(附资源)全程30Mb/s!你不知道的那些IDM妙用!...
  4. 魅族 虚拟位置服务状态:未运行_神车道具送不停 魅族17x跑跑卡丁车礼盒开启预约...
  5. C++知识点60——非类型模板参数
  6. Opencv开闭运算去除反光噪声
  7. Halcon模板轮廓坐标点获取
  8. Django 前台通过json 取出后台数据
  9. swift--添加新手引导页
  10. Hadoop:HDFS NameNode内存全景