牛客每日练习----B-布置会场(II),B-经商,B-苦逼的单身狗
大提琴的声音就像一条河,左岸是我无法忘却的回忆,右岸是我值得紧握的璀璨年华,中间流淌的,是我年年岁岁淡淡的感伤
链接:https://ac.nowcoder.com/acm/problem/14549
来源:牛客网
题目描述
小d接到了一个布置会场的任务。
他需要将贵宾观众席的椅子排成一排,一共需要N个。
上级领导指示,他只能使用两种椅子。(A类型和B类型)并且假设每种椅子的数量都是无限的。
而其如果想要摆置一个B类型的椅子,对应就需要必须有连续两个一起布置。换句话说,就是如果出现了B类型的椅子,其必须且只有两个连着B类型的椅子。
小d突然想知道对应N个椅子排成一列,他能够有多少种布置的方式.
输入描述:
本题包含多组输入第一行输入一个整数t,表示测试数据的组数 每组测试数据包含一行,输入一个整数N,表示一共需要摆放的椅子数量 t<=1000 1<=N<=100000000000000000(10^18)
输出描述:
每组测试数据输出包含一行,表示一共有多少种布置的方式,方案数可能会很大,输出对1000000007取摸的结果。
示例1
输入
复制
2 2 4
输出
复制
2 5
说明
第一个样例,AA,BB两种方案。 第二个样例,AAAA,BBBB,AABB,ABBA,BBAA五种方案 对于ABBB 因为有连续3个B类型椅子所以不可行
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <string>
#include <cstring>
#include <cstdlib>
#include <cmath>
#include <stack>
#include <queue>
#include <set>
#include <map>
#include <vector>
#include <ctime>
#include <cctype>
#include <bitset>
#include <utility>
#include <sstream>
#include <complex>
#include <iomanip>
#define inf 0x3f3f3f3f
typedef long long ll;
using namespace std;
int const mod=1000000007;
int t;
ll n;
void mul(ll ans[][2],ll p[][2])
{ll s[5][5]={0};for(int i=0;i<2;i++){for(int j=0;j<2;j++){for(int z=0;z<2;z++){s[i][j]+=(ans[i][z])*(p[j][z]);s[i][j]%=mod;}}}for(int i=0;i<2;i++)for(int j=0;j<2;j++)ans[i][j]=s[i][j];
}
ll qpow(ll n)
{ll ans[2][2]={1,0,0,1};ll p[2][2]={0,1,1,1};while(n){if(n&1)mul(ans,p);n/=2;mul(p,p);}ll ls=ans[0][0]+ans[1][0];return ls%mod;
}
int main()
{cin>>t;while(t--){cin>>n;cout<<qpow(n)<<endl;}return 0;
}
链接:https://ac.nowcoder.com/acm/problem/14545
来源:牛客网
题目描述
小d是一个搞房地产的土豪。每个人经商都有每个人经商的手段,当然人际关系是需要放在首位的。
小d每一个月都需要列出来一个人际关系表,表示他们搞房地产的人的一个人际关系网,但是他的精力有限,对应他只能和能够接触到的人交际。比如1认识2,2认识3,那么1就可以接触3进行交际,当然1和2也可以交际。
小d还很精明,他知道他和谁交际的深获得的利益大,接下来他根据自己的想法又列出来一个利益表,表示他和这些人交际需要耗用多少精力,能够获得的利益值为多少。
小d想知道,他在精力范围内,能够获得的利益值到底是多少。
设定小d自己的编号为1.并且对应一个人的交际次数限定为1.
输入描述:
本题包含多组输入,第一行输入一个数t,表示测试数据的组数 每组数据的第一行输入三个数,N,M,C,表示这个人际关系网一共有多少个人,关系网的关系数,以及小d的精力值 接下来N-1行,每行两个数ai,bi。这里第i行表示和编号为i+1的人认识需要花费ai的精力,能够获得的利益值为bi。 再接下来M行,每行两个数x,y,表示编号为x的人能够和编号为y的人接触 t<=50 2<=N<=10000 1<=M<=10*N 1<=ai,bi<=10 1<=C<=500 1<=x,y<=N
输出描述:
输出包含一行,表示小d能够获得的最大利益值
示例1
输入
复制
1 5 3 7 5 10 3 2 4 3 1 100 1 2 2 3 1 4
输出
复制
10
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <string>
#include <cstring>
#include <cstdlib>
#include <cmath>
#include <stack>
#include <queue>
#include <set>
#include <map>
#include <vector>
#include <ctime>
#include <cctype>
#include <bitset>
#include <utility>
#include <sstream>
#include <complex>
#include <iomanip>
#define inf 0x3f3f3f3f
typedef long long ll;
using namespace std;
int T,n,m,c,f[10005],mp[10005][3],p[505];
int getf(int x)
{if(x==f[x])return x;return f[x]=getf(f[x]);
}
void init()
{for(int i=1;i<=n;i++)f[i]=i;
}
void he(int x,int y)
{f[getf(y)]=getf(x);
}
int main()
{cin>>T;while(T--){int x,y;memset(p,0,sizeof(p));cin>>n>>m>>c;init();for(int i=2;i<=n;i++)cin>>mp[i][1]>>mp[i][2];for(int i=1;i<=m;i++){cin>>x>>y;he(x,y);}for(int i=2;i<=n;i++)if(getf(i)==getf(1)){for(int j=c;j>=mp[i][1];j--)p[j]=max(p[j-mp[i][1]]+mp[i][2],p[j]);}cout<<p[c]<<endl;}return 0;
}
链接:https://ac.nowcoder.com/acm/problem/14547
来源:牛客网
题目描述
双11又到了,小Z依然只是一只单身狗,对此他是如此的苦恼又无可奈何。
为了在这一天脱单小Z决定向女神表白,但性格腼腆的小Z决定隐晦一点,截取一段包含'L'、'O'、'V'、'E'的英文。(顺序不限)
小Z想起之前小D送给他一本英文书,决定在这里面截取一段话,小Z发现有好多种方案来截取这段话。
你能知道小Z能有多少种方案截取这段话么?
为了简化问题,英文文本讲不会出现空格、换行、标点符号及只有大写的情况。
输入描述:
本题有T组数据。 对于每组数据只有一行文本。 1≤T≤20 1≤文本长度≤100000
输出描述:
输出结果,并换行。
示例1
输入
复制
3 ILOVEACM LOVELOVE ALBECVOD
输出
复制
8 15 4
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <string>
#include <cstring>
#include <cstdlib>
#include <cmath>
#include <stack>
#include <queue>
#include <set>
#include <map>
#include <vector>
#include <ctime>
#include <cctype>
#include <bitset>
#include <utility>
#include <sstream>
#include <complex>
#include <iomanip>
#define inf 0x3f3f3f3f
typedef long long ll;
using namespace std;
int t,n,ls[100];
char s[100010];
ll ans;
int main()
{scanf("%d",&t);while(t--){scanf("%s",s+1);n=strlen(s+1);ans=0;memset(ls,0,sizeof ls);for(int i=1;i<=n;++i){ls[s[i]]=i;ans+=min(min(ls['L'],ls['O']),min(ls['V'],ls['E']));}printf("%lld\n",ans);}return 0;
}
牛客每日练习----B-布置会场(II),B-经商,B-苦逼的单身狗相关推荐
- 牛客14350 苦逼的单身狗
链接:https://ac.nowcoder.com/acm/problem/14350 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536 ...
- 力扣牛客每日刷题(Python解法持续更新)
力扣牛客每日刷题(持续更新) 初试结束第15天, 之前简单的处理了部分毕设方面的任务, 对接下来的学习做了个简单的规划 决定每天开始刷几道力扣题提高一下算法的理解,不能让之前学的数据结构都忘记了 每道 ...
- 【牛客每日一题】4.16 逆序对 ( 数学 , 排列组合 ,快速幂 , 快速乘 )
[每日一题]逆序对 链接:https://ac.nowcoder.com/acm/problem/14731 来源:牛客网 题目描述 求所有长度为n的01串中满足如下条件的二元组个数: 设第i位和第j ...
- 【牛客每日一题】4.15 Treepath 题解(树上dfs/树形DP)
题目链接:https://ac.nowcoder.com/acm/problem/14248 来源:牛客网 题目描述 给定一棵n个点的树,问其中有多少条长度为偶数的路径.路径的长度为经过的边的条数.x ...
- 【牛客每日一题】 4.13 Xorto(前缀异或和,枚举优化/映射)
链接:https://ac.nowcoder.com/acm/problem/14247 来源:牛客网 题目描述 给定一个长度为n的整数数组,问有多少对互不重叠的非空区间,使得两个区间内的数的异或和为 ...
- 【牛客每日一题】tokitsukaze and Soldier 题目精讲 贪心、优先队列、堆
链接:https://ac.nowcoder.com/acm/problem/50439 来源:牛客网 ACM在线模板 今天才发现牛客推出了一个每日一题的版块,3月25号就开始了,今天才发现,赶紧补救 ...
- 牛客每日一题3.31 城市网络 树上倍增
牛客网 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 262144K,其他语言524288K 64bit IO Format: %lld 题目描述 有一个树状的城市网络(即 n 个城 ...
- 牛客每日练习----あなたの蛙が帰っています,おみやげをまらいました,写真がとどいています
我喜欢给自己压力,必须得定一个很高的目标,逼自己朝着这个目标前进,不管会不会实现,都是一个动力. ----喻言 链接:http ...
- 牛客每日练习----圆圈,TaoTao要吃鸡,吐泡泡
我喜欢给自己压力,必须得定一个很高的目标,逼自己朝着这个目标前进,不管会不会实现,都是一个动力. ----喻言 链接:http ...
最新文章
- 想去Google做AI?面试题在手,全程无忧!
- 助力企业利润快跑的下一只轮子——移动应用?【创新时代】
- python中几种读取文件的方法_python 逐行读取文件的几种方法
- Linux(CentOs)下安装Phantomjs + Casperjs
- mysql 高可用工具_MySQL Utilities 高可用工具体验
- SharePoint学习札记[1] — WSS与MOSS的关系
- Spring Cloud 一:注册中心
- java下传图片到tomcat服务器后,如何在页面显示,java图片上传服务器及客户端显示图片...
- QT每日一练day21:鼠标事件
- mysql必知必会的数据_MySQL必知必会---数据过滤
- opencv读写图片,分离通道等操作
- CentOS 8 的安装(官方安装、清华大学开源软件镜像站、阿里云镜像、网易镜像下的安装步骤)
- EGE基础入门篇(五):换上我的彩色画笔
- DOTA 104个英雄416个技能、104首情诗
- SSRS报表服务随笔(rdl报表服务)-报表结构与样式
- efs android 分区 img,选择别人efs文件包都是.img格式的,怎么添加你们的.efs文? 爱问知识人...
- 数组数据通过sql语句转为数据库表衔接到from或join后进行直接或关联查询
- 开发那些坑之使用百川趣拍sd集成真实项目
- python爬虫工资高吗_月薪2万的爬虫工程师,Python需要学到什么程度?
- MySQL5.7和MySQL8的区别