
“红旗杯“第十四届东北地区大学生程序设计竞赛-热身赛
发布日期:2021-05-07 23:18:44
浏览次数:26
分类:原创文章
本文共 1663 字,大约阅读时间需要 5 分钟。
Powered by:AB_IN 局外人
Problem A
m m m的数据范围比较小,全排列即可。利用 b b b数组作为下标,用 b b b数组进行全排列操作。
#include <bits/stdc++.h>#define ll long longusing namespace std;const int N=1e6+10;struct sa{ ll x; ll y;}a[N];ll b[N];ll t,n,m;int main(){ cin>>t; while(t--){ cin>>n>>m; for(int i=1;i<=m;i++) b[i]=i; for(int i=1;i<=m;i++){ cin>>a[i].x>>a[i].y; } ll ans=0x3f3f3f3f; do{ ll sum=0; for(int i=1;i<m;i++){ sum+=abs(a[b[i]].x-a[b[i+1]].x); sum+=abs(a[b[i]].y-a[b[i+1]].y); } ans=min(sum,ans); }while(next_permutation(b+1,b+1+m)); cout<<ans<<endl; } return 0;}
Problem B
首先, f i b s fibs fibs到89项左右数据就到了接近 1 e 18 1e18 1e18了。这个题就是找一个数能不能被拆成 f i b s fibs fibs的任意几项,每一项可以无限次使用。看到这,其实就是相当于一个完全背包的思想,但 f i b s fibs fibs数列中有数值 1 1 1,我们可以好好把握这个条件,就不用写个背包了。
先利用二分把最接近 n n n的数找出来,然后不停二分,直到 n = 0 n=0 n=0,共 c n t cnt cnt个数。所以如果 k k k在 [ c n t , n ] [cnt,n] [cnt,n]之间,那么都是 y e s yes yes。为什么呢?因为既可以利用 f i b s fibs fibs的特性,把一个数拆成两个数,(例如:13=5+8),又可以充分利用 1 1 1来补全。
#include <bits/stdc++.h>using namespace std;int t;long long n,k;long long a[100];int main(){ a[1]=1;a[2]=2; for(int i=3;i<90;i++) a[i]=a[i-1]+a[i-2]; scanf("%d",&t); while(t--) { scanf("%lld%lld",&n,&k); if(k>n){ printf("No\n"); continue; } long long emm,cnt=0,tmp=n; while(n){ emm=upper_bound(a+1,a+89,n)-a-1; n-=a[emm]; cnt++; } if(k>=cnt && k<=tmp) printf("Yes\n"); else printf("No\n"); } return 0;}
完结。
发表评论
最新留言
做的很好,不错不错
[***.243.131.199]2025年04月11日 15时36分47秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
数据库三个级别封锁协议
2021-05-08
类的实例
2021-05-08
tomcat加载部署webapps目录下的项目
2021-05-08
ACM/NCPC2016 C Card Hand Sorting(upc 3028)
2021-05-08
方法重写
2021-05-08
Threading Programming Guide(多线程编程指南)
2021-05-08
Java求逆波兰表达式的结果(栈)
2021-05-08
SDWebImage--http图片加载不出来的问题
2021-05-08
Application received signal SIGSEGV
2021-05-08
MySQL删除数据库时的错误(errno: 39)
2021-05-08
Win10 JDK配置环境变量以及为什么需要配置每部分的原因
2021-05-08
ubuntu学习笔记-常用文件、命令以及作用(hosts、vim、ssh)
2021-05-08
SLAM学习笔记-求解视觉SLAM问题
2021-05-08
普歌-允异团队-HashMap面试题
2021-05-08
还在一个一个手动安装虚拟机吗?Cobbler自动部署装机一键最小化安装打把游戏就好了
2021-05-08
Windows下Python安装与使用
2021-05-08
程序员应该知道的97件事
2021-05-08
我编程,我快乐—程序员职业规划之道
2021-05-08
Web基础应用 NFS服务基础 触发挂载
2021-05-08
create-react-app路由的实现原理
2021-05-08