题目链接(hdu复赛)

2018年湘潭邀请赛,在湘大举行,当时一起打的过去的,因为没出市就方便点。第一次参加现场赛,首先反省一下自己,比赛前算法先不说(没有好好搞过),就连普通的题,数学性质的题都很少刷,什么都不会,然后英语不说四六级的东西,很多专业英语词汇都没有好好了解过,主要的原因还是刷题刷少了,英文题刷少了。理所当然,成功拿下一铁,湘潭赛打铁告终。

比赛开始,这次是三个人没人一份纸质题目,拿到题目,看最后一题,k.2018发现可以做,(事实证明确实是一道水题),我就在做这题,他们看了a题,好像是k题一顿操作后提交,错了,一直到比赛结束都没做出来,后来回去看别人的题解,发现自己情况没有分析全面,其实是完全可以解出来的,真的做的太少太少了。a题最后也是没过,还有一个f题,sort,我最初的想法是用stl里的那个sort排序,只要对sort的compare函数做处理应该可以完成排序,比赛之前我看过,但是不熟悉,zxm她也看了我就交给她了,最后好像因为爆long double的问题也没做出来。
哎,菜还是菜,很多算法都不懂,数据结构也没学好,很有一段时间我都特别头疼算法,不想学,费劲,觉得自己不适合学计算机,更不适合ACM。有时候又想,不适合好像总是loser的借口!总是在后悔和偷懒的矛盾中!

A. Easy h-index

The h-index of an author is the largest h where he has at least h papers with citations not less than h.
Bobo has published many papers. Given a0,a1,a2,…,an which means Bobo has published ai papers with
itations exactly i, find the h-index of Bobo.

Input

The input consists of several test cases and is terminated by end-of-file.
The first line of each test case contains an integer n. The second line contains (n+1) integers a0,a1,…,an.

Output
For each test case, print an integer which denotes the result.

Constraint

• 1≤ n ≤2·105
• 0≤ ai ≤109
• The sum of n does not exceed 250,000.

Sample Input

1
1 2
2
1 2 3
3
0 0 0 0

Sample Output

1
2
0

题意:给定被引用次数为0~n的论文分别有几张,找到最大的h,满足被引用次数大于等于h的论文至少有h张
思路:在区间[0,n]内二分答案;或直接从n~0遍历找到第一个满足条件的h

后AC代码

#include "bits/stdc++.h"
using namespace std;
int main(){int a[200005];int n;int i;while(cin>>n){for(i=0;i<=n;i++)cin>>a[i];int sum=a[n];for(i=n;i>=0;){if(sum>=i){cout<<i<<endl;break;}else sum+=a[--i];}if(i<0)cout<<"0"<<endl;}return 0;
}

B. Higher h-index

The h-index of an author is the largest h where he has at least h papers with citations not less than h.
Bobo has no papers and he is going to publish some subsequently. If he works on a paper for x hours, the
paper will get (a·x) citations, where a is a known constant. It’s clear that x should be a positive integer.
There is also a trick – one can cite his own papers published earlier.

Given Bobo has n working hours, find the maximum h-index of him.

Input

The input consists of several test cases and is terminated by end-of-file.
Each test case contains two integers n and a.

Output

For each test case, print an integer which denotes the maximum h-index.

Constraint

• 1≤ n ≤109
• 0≤ a ≤ n
• The number of test cases does not exceed 104.

Sample Input

3 0
3 1
1000000000 1000000000

Sample Output

1
2
1000000000

Note

For the first sample, Bobo can work 3 papers for 1 hour each. With the trick mentioned,
he will get papers with citations 2,1,0. Thus, his h-index is 1.
For the second sample, Bobo can work 2 papers for 1 and 2 hours respectively.
He will get papers with citations 1+1,2+0. Thus, his h-index is 2.

题意:给定n个小时,可以用其中x(1<=x<=n)个小时写一篇论文,那么这篇论文的”既定”引用数将会是x*a(a为给定正整数);此外,已经写好的论文将会被其后写成的论文所引用,也就是说,这篇论文的总引用数将会是”既定”引用数+其后论文篇数;问在所有的写论文方案中(例如一种方案就是用n个小时写n篇论文,每篇论文各花1小时(可以得到这n篇论文的引用数)),h最大为多少(h的含义同上题)(每一种方案都对应着一个h,求这些h中的最大者)
思路:最优方案(即对应h值最大的方案)是平摊n小时写成n篇论文(证明未知);此时n篇论文的引用数为a,a+1,a+2,…,a+n-1,引用数为a+i时,引用数大于等于它的论文有n-i篇,令a+i=n-i得i=(n-a)/2,所以h=a+(n-a)/2;

后AC代码

#include<cstdio>int main(){int n,a;while(scanf("%d%d",&n,&a)!=EOF){printf("%d\n",a+(n-a)/2);}return 0;
}

Sample Input

2
1 1 1
1 1 2
2
1 1 2
1 1 1
3
1 3 1
2 2 1
3 1 1

Sample Output

2 1
1 2
1 2 3

题意:给定n个元组(a1,b1,c1),(a2,b2,c2),…,(an,bn,cn),将其按(ai+bi)/(ai+bi+ci)的值从小到大排序,输出排序后的n个元组的原序号;
思路:编写sort里的cmp函数(形参为元组结构体元素,设为Tuple x,Tuple y),若直接算出(x.a+x.b)(y.a+y.b+y.c)和(y.a+y.b)(x.a+x.b+x.c)再比较大小,这两个结果会爆unsigned long long;
可以把因式乘积展开成多项式的和,约去两式中相同的项,得到x.a*y.c+x.b*y.c和y.a*x.c+y.b*x.c,因此只需计算它俩再比较即可,结果不会爆unsigned long long

后AC代码

#include "bits/stdc++.h"
using namespace std;
struct node{long double a,b,c;int numb;
}ss[1005];bool cmp(const node &a,const node &b){long double suma,sumb;//suma=a.a*b.c+a.b*b.c;//sumb=b.a*a.c+b.b*a.c;suma=(a.a+a.b)/(a.a+a.b+a.c);sumb=(b.a+b.b)/(b.a+b.b+b.c);if(suma!=sumb)return suma<sumb;return a.numb<b.numb;
}int main(){int n;while(cin>>n){for(int i=0;i<n;i++){cin>>ss[i].a>>ss[i].b>>ss[i].c;ss[i].numb=i+1;}stable_sort(ss,ss+n,cmp);int i;for(i=0;i<n-1;i++)cout<<ss[i].numb<<" ";cout<<ss[i].numb<<endl;}return 0;
}

18湘潭邀请赛总结(打铁)相关推荐

  1. 2018 湘潭邀请赛 部分题解

    2018 湘潭邀请赛 题解 A C F G K .其它题解,后续添加 A 题 没啥好讲的,签到题 从后面往前面数,大于个数的时候直接输出就行了. AC代码: #include<iostream& ...

  2. CCPC之湘潭邀请赛

    CCPC湘潭邀请赛 热身赛 5月11号,当天下午是打热身赛,四道题目,我本来以为是英文题,还特意让钢哥回去拿了下字典,可没想到热身赛是中文题,幸苦钢哥白跑一趟了. 再来说题目吧,几个题目意思都比较明了 ...

  3. [2016湘潭邀请赛 A. 2016] 大数取模+循环节

    [2016湘潭邀请赛 A. 2016] 大数取模+循环节 1. 题目链接 XTU OnlineJudge : [2016湘潭邀请赛 A. 2016] 2. 题意描述 [图片看不清可以放大.] 给定一个 ...

  4. 2016湖南湘潭邀请赛 - 2019牛客国庆集训派对day6

    2016湖南湘潭邀请赛 - 2019牛客国庆集训派对day6 A - 2016 题意:求一个2阶矩阵的n次幂,对7取模的结果 思路:可以用上面介绍的10进制倍增的方法.也可以用 n 对2016取模,还 ...

  5. 2017湘潭邀请赛E-Partical Sum | 绝对值的特性

    Partical Sum ####题意 给定一个长为n的数组,找到m组(L,R),L表示区间的起点,R表示区间的终点,使得| ∑ L R a i \sum_{L}^R a_i ∑LR​ai​| - C ...

  6. 2021CCPC湘潭邀请赛复盘

    写在前面 刚到长沙,补完作业.自然选择号八题第六,算是正常发挥,毕竟邀请赛没什么强队来打.不过赛前确实想过拿个奖杯回去- 再接再厉吧. 周六先去长沙理工打了蓝桥杯国赛,感觉比之前要简单,甚至比第一场省 ...

  7. 2015湘潭邀请赛小记

    事实上,在今年赛之前,我已经很长一段时间没有碰过ACM了.这从我blog的发帖时间上也能看得出来.很多内容去年学得并不是很熟练,再加上接近半年时间没有练习,所以一些基本的常用算法都忘了很多.在今年5月 ...

  8. 2018年湘潭邀请赛小节题解—暨鶸第一次参赛

    2018年"三盟科技杯"中国大学生程序设计竞赛(湖南) 比赛小节:  说说结果,铜首没能拿银,不过因为第一次参加正式ACM现场赛感觉还okey.  长理一队怒拿金是真的666!%日 ...

  9. 2017 湘潭邀请赛JSCPC GJ

    训练的时候对G想了一个假算法..也有很大可能是写错了.. 下来一看别人的G 看起来很奇妙.. 开始把所有的左括号翻成右括号,然后cost*=-1 这样在优先队列中就是最优的 然后for每一段 如果前缀 ...

最新文章

  1. 页面布局 - flex弹性布局
  2. php 多用户 判断,Laravel jwt 多表(多用户端)验证隔离的实现
  3. Serverless 解惑——函数计算如何访问 Redis 数据库
  4. withMisfireHandlingInstruction
  5. 优酷上线4K修复版经典剧漫 高清修复计划5年焕新5000部经典
  6. 华为鸿蒙将比安卓快,任正非透露华为鸿蒙系统:将比安卓速度快60%
  7. QT5.10+MinGW+OpenCV3.4.2编译
  8. 常见面试算法:决策树、随机森林和AdaBoost
  9. git 各种撤销操作办法
  10. 能运行c语言的最便宜电脑配置,低配置电脑流畅运行Win7的技巧
  11. 区块链技术实体结合解决方案——汇新云
  12. Python爬取招聘网站岗位信息
  13. 利用神经网络识别12306验证码——(五)训练模型
  14. web ui 套件_复古UI套件
  15. SkyWalking8.4监控跨线程问题解决
  16. reduceByKey一个巧妙的用法
  17. 计算机在社会工作和生活中的应用,计算机综合应用能力实训
  18. MaxEnt生态位模型课程大纲
  19. Mysql 各个版本区别及官网下载
  20. 锁定计算机后 关机任务不执行,定时关机3000常见问题(一)

热门文章

  1. 群晖 服务器自动备份,怎么备份 Synology NAS 服务器设置
  2. 光流方法Flownet的简单调用
  3. 【思特奇杯•云上蓝桥--算法训练营】第1周作业 蓝桥杯真题(Python)
  4. 计算机原理之定点与浮点表示教案,计算机组成原理-定点数和浮点数.ppt
  5. objectARX中如何插入动态块
  6. error LNK1123
  7. Git-版本控制,GitHub,Git分支
  8. python之导入模块路径
  9. 万花筒云教育—安卓闭源后国产手机怎么办?
  10. python前程无忧scrapy存mogondb案例+可视化显示