绍兴文理学院元培学院第十五届大学生程序设计竞赛

  • A 阳光明媚的数学题
  • B 爱的素数
  • C 庄生的笔
  • D 上流的聚餐
  • E 规划(一)
  • F 规划(二)
  • G 运动的球球
  • H 物资转移
  • I 小杨环
  • J 前四位

题目很好,可惜不会,最后马马虎虎的过了 4 个签到题

A 阳光明媚的数学题

构造一个无重复只含有正偶数的数列

使得这个数列所有值之和不超过 n

求这个数列长度的最大值

输入格式:
输入一个正整数 n ( 范围 [0,1e9] )

输出格式:
输出一个整数,表示这个数列长度的最大值

输入样例:
样例一

10

样例二

12

输出样例:

2
3

题目解释

签到题,简单的数学题
不断进行正偶数的累加即可
因为题目要求是无重复,所以从 2 开始,每次加 2 ,累加的到的答案就是最优解

#include<iostream>
#include<algorithm>
#include<cstring>
#include<cmath>
#include<vector>
#include<stack>
#include<queue>
#include<sstream>using namespace std;
typedef long long ll;
const int N=100010;int main()
{int n;cin >> n;int ans = 0;int res = 2;int count = 0;while(1){if(ans >= n || n < res) break;res += 2;ans += res;count ++ ;}cout << count << endl;return 0;
}

B 爱的素数

给你一个范围,如果素数占百分之50及以上,则这个范围为爱的素数

输入格式:
输入两个正整数L,R(2<=L<R<=1e9)(多组输入)

输出格式:
如果是爱的素数输出yes ,反之输出no

输入样例:

2 3

输出样例:

yes

样例解释

2到3的素数占比百分之百,所以输出yes

题目解释

暴力解法:对于给定的区间,直接进行遍历,判断区间内的素数个数是否大于等于 50%
但是题目给定的范围是 2 – 1e9,直接进行遍历判断,一定会时间超限

暴力打表的结果:

从上面的打表样例我们可以看出,从 2 开始仅到 13 就停止了,从 3 开始仅到 8 就停止了,依次类推我们可以发现直到左端点是 17 右端点是 20 的时候停止,这是第一条规律


当左端点和右端点紧邻的时候,也就是相差 1 的时候,这两个端点中要是有一个是素数,那么就一定符合题意

天真的我本来以为仅有上面两条规律,按照这两条规律进行一个特判就可以过掉,结果愣是交 20 多次都没过,整的我自己都怀疑自己了


最后一条规律,如上图:70 和 71 差 1,70 和 73 差 1,71 和 72 差 1,71 和 73 差 2,71 和 74 差 3,也就是说,当左右端点大于 20 后,进行特判时,不能只是依据两端点是否差 1,且是否有其中一个端点是素数,如果两端差值小于等于3时,也需要 check 一下,看一下素数的数量

#include<iostream>
#include<algorithm>
#include<cstring>
#include<cmath>
#include<vector>
#include<stack>
#include<queue>
#include<sstream>using namespace std;
typedef long long ll;
const int N=100010;bool check(ll x)
{for(ll i = 2; i <= sqrt(x); i ++ ){if(x % i == 0) return false;}return true;
}int main()
{ll l ,r;while(~scanf("%lld%lld",&l,&r)){ll res1 = r - l + 1;ll res2 = 0; if(l <= 17 && r <= 20){for(ll i = l; i <= r; i ++ )if(check(i)) res2 ++ ;if(res2 * 2 >= res1) printf("yes\n");else printf("no\n");}else{if((l + 1 == r) && (check(l) || check(r)))printf("yes\n");else if(r - l <= 3){for(int i = l; i <= r; i ++ )if(check(i)) res2 ++ ;if(res2 * 2 >= res1) printf("yes\n");else printf("no\n");}else printf("no\n");}}return 0;
}

C 庄生的笔

日后再更ing

D 上流的聚餐

日后再更ing

E 规划(一)

小王生活在美丽的村庄,某天他励志想考上公务员,于是,开始了奋笔疾书。当天却遇到了一个难题,就是每个村庄与每个村庄都有很多条小道路,甚至两个村庄之间有三四条小道路。

现在需要将这些道路整合起来,进行翻新,从泥泞路变成水泥路,每米造价是1w元,要使得每个村庄都联通,问最少需要几个w。

输入格式:
第一行输入两个整数n,m(2<=n<=1e3 && 1<=m<=1e5)分别表示村庄个数和道路个数

接下来的m行,输入三个整数 u,v,w(1<=u,v<=n && 1<=w<=1e6)表示u村到v村需要w米距离

输出格式:
输出一个整数,表示最小需要几个w

如果,所有的村庄连不起,则输出NO

输入样例:
在这里给出一组输入。例如:

4 6
1 2 1
1 2 3
1 2 4
1 3 5
1 3 5
1 3 5

输出样例:
在这里给出相应的输出。例如:

NO

题目解释

最小生成树模板题
直接背 prim() 算法

#include<iostream>
#include<cstring>
#include<algorithm>
#include<queue>
#include<map>
#include<set>
using namespace std;
typedef long long ll;
typedef pair<int,int> PII;
const int N=1e3+10;
int n,m;
int g[N][N];
int dist[N];
bool st[N]; int prim()
{int res=0;memset(dist,0x3f,sizeof dist);for(int i=0;i<n;i++){int t=-1;for(int j=1;j<=n;j++)if(!st[j]&&(t==-1||dist[t]>dist[j]))t=j;if(i&&dist[t]==0x3f3f3f3f) return 0x3f3f3f3f;if(i) res+=dist[t];for(int j=1;j<=n;j++) dist[j]=min(dist[j],g[t][j]);st[t]=true;}return res;
}int main()
{cin>>n>>m;memset(g,0x3f,sizeof g);for(int i=0;i<m;i++){int x,y,z;cin>>x>>y>>z;g[x][y]=g[y][x]=min(g[x][y],z);}int ans=prim();if(ans==0x3f3f3f3f) puts("NO");else cout<<ans<<endl;return 0;
}

F 规划(二)

日后再更ing

G 运动的球球

日后再更ing

H 物资转移

I 小杨环

J 前四位

求n的n次方的前四位

输入格式:
输入一个正整数n(10<=n<=1000)

输出格式:
输出n的n次方的前四位

输入样例:
在这里给出一组输入。例如:

10

输出样例:
在这里给出相应的输出。例如:

1000

#include<iostream>
#include<algorithm>
#include<cstring>
#include<cmath>
#include<vector>
#include<stack>
#include<queue>
#include<sstream>using namespace std;
typedef long long ll;
const int N=100010;int main()
{int n;cin >> n;double res =n * log10(n)- (int)(n * log10(n));int ans = pow(10, res) * 1000;cout << ans << endl;return 0;
}

2022.3.12 绍兴文理学院元培学院第十五届大学生程序设计竞赛相关推荐

  1. 绍兴文理学院元培学院第十五届大学生程序设计竞赛

    题目集入口 - 补题 (pintia.cn) 目录 1.爱的素数(分析题) 2.规划一(最小生成树) 3.物资转移(贪心) 4.前四位(高精度) 5.上流的聚餐(并查集) 6.庄生的笔(分析题) 1. ...

  2. pta 绍兴文理学院元培学院2022/3/11 补题

    比赛对了6/10,这个比赛相对简单吧. 补题 小杨在心灵走廊中闯入603号房间时,一张巨大的星图展现在他的面前,脚边也多了m支笔.星图上每颗星都代表着一个交点,每两颗星之间可能有线相连,每条线除了端点 ...

  3. 上海大学计算机学院卞韬,我校计算机工程与科学学院学生在CCPC中国大学生程序设计竞赛中喜获金奖...

    CCPC中国大学生程序设计竞赛(China Collegiate Programming Contest)是由中国大学生程序设计竞赛组委会组织的年度性赛事,旨在通过竞赛来提高并展示中国大学生程序设计创 ...

  4. 浙江大学 计算机学院的博士,通知 | 浙江大学第377期博士生创新论坛 暨计算机学院第十六届博士生创新论坛(秋冬)报名通知...

    原标题:通知 | 浙江大学第377期博士生创新论坛 暨计算机学院第十六届博士生创新论坛(秋冬)报名通知 计算机学院各位博士生: 浙江大学博士生创新论坛由校博士生会.各院系研博会.学生科创社团联合主办, ...

  5. 部门换届推文文字_第十五届院级学生干部换届大会火热进行中

    时光荏苒,白驹过隙 四川财经职业学院社团联合会 和大家走过了一年又一年的四季 而在这秋风送爽的时节里 我们迎来了第十五届院级学生干部换届大会 部门换届 有人选择留下 有人选择离开 你,是站在十字路口犹 ...

  6. 同济大学计算机学院徐老师,第十八届同济大学程序设计竞赛暨高校网络友谊赛圆满落幕...

    5月22日18时,2021年第十八届同济大学程序设计竞赛决赛在嘉定校区复楼计算机中心圆满落下帷幕. 本次竞赛由同济大学本科生院主办,电子与信息工程学院承办,电子与信息工程学院创新基地与大学生程序设计竞 ...

  7. 北邮计算机学院acm,计算机学院学生在2018年ACM-ICPC中国大学生程序设计竞赛中喜获佳绩...

    6月9日至6月10日,2018ACM-ICPC中国大学生程序设计竞赛在宁夏石嘴山市举行,本次大赛吸引了来自全国各大高校的132支参赛队伍,北京邮电大学共派出三支队伍参赛,均喜获佳绩. 经过五个小时的激 ...

  8. 河南工程学院第五届ACM大学生程序设计竞赛(部分题解)

    河南工程学院第五届ACM大学生程序设计竞赛(部分题解) 问题 A: 敏感的小明同学 小明是一个对数字非常敏感的人,当他看到某个特定的数字p (1<=p<=9)时就会兴奋一下,现在给你一个数 ...

  9. 计算机信息技术奥赛实践,我校计算机科学与信息技术学院学生在黑龙江省大学生程序设计竞赛中取得优异成绩...

    原标题:我校计算机科学与信息技术学院学生在黑龙江省大学生程序设计竞赛中取得优异成绩 5月12日,由黑龙江省计算机学会主办.哈尔滨工业大学承办的第十四届黑龙江省大学生程序设计竞赛在哈尔滨工业大学举行,来 ...

最新文章

  1. 拉登游戏开发--C#实现过程
  2. java实例域静态域_有关java 实例域 静态域 静态方法
  3. javafx 示例_示例介绍:JavaFX 8打印
  4. eclipse复制代码连接数据库404_推荐一款免费的数据库管理工具,比Navicat还要好用,功能还很强大...
  5. modbus_百度经验
  6. 微课|玩转Python轻松过二级:第3章课后习题解答3
  7. Python探索记(10)——字符串(下)
  8. 使用类名称创建实例并调用构造函数
  9. Codeforces 208E. Blood Cousins
  10. 小波神经网络模型的建立,小波神经网络模型matlab
  11. 印象笔记如何分享链接_【记录】试用印象笔记最新的笔记分享出页面的功能
  12. ReportMachine如何导出PDF文档?
  13. 蓝桥杯单片机学习之数码管
  14. 做嵌入式经典网站!(转)
  15. TCP/IP路由技术(第1卷)(第2版) + TCP/IP路由技术(第2卷)(第2版)
  16. 集大1513 1514班 软件工程第二次作业评分与点评
  17. android手机联调,Android第三课 联调华为手机
  18. NYOJ-71:独木舟上的旅行
  19. m基于matlab的光通信误码率仿真,分别对比了OFDM+BPSK和OFDM+4QAM的误码率和星座图
  20. Asp.net夜话之二:asp.net内置对象

热门文章

  1. 超市进销存管理系统软件(JFrame简版)
  2. 为泰泽铺路, Intel宣布32nm Atom正式出货 规格详解
  3. 如何寻找软件外包公司?
  4. mysql如何导出数据
  5. Unity发布webgl的一些问题
  6. Go 语言优势、对比
  7. 培训班出身的程序员为什么总是遭人嫌弃???
  8. 如何查看文件的 MD5值?
  9. Android 控件 RecyclerView 看这篇就够了
  10. 【java笔记】字符流,Properties,序列化,打印流