codeforces 1064套题
a题:题意就是问,3个数字差多少可以构成三角形
思路:两边之和大于第三遍
#include<iostream>
#include<algorithm>
using namespace std;
int a[]; int main(){
cin>>a[]>>a[]>>a[];
sort(a, a+);
int len1=a[]+a[];
int len2=a[];
int kk=;
while(len1<=len2){len1++; ++kk;}
cout<<kk<<endl;
}
b题:就是给出a的值。求出
这个解的个数。
思路:比如给你a=5,则a=101, 则 x= 000, 001, 100, 101 为什么这样呢?因为只有没产生减法时的借1的情况的话,都是可以的。emmm,也就是说统计一下二进制中1出现的个数,然后,直接用组合做一下就可以了。
#include<iostream>
#include<algorithm>
using namespace std;
int k, t;
int pow(int x, int n){
int ans=;
for(;n;x=x*x, n>>=)
if(n&)ans=ans*x;
return ans;
} int main(){
cin>>t;
while(t--){
cin>>k;
int ans=;
for(int i=;i<=;++i)
if(k&(<<i))ans++;
cout<<pow(,ans)<<endl;
}
}
c题:题意,给你一个字符串,并调整各个字符的位置,新的字符串的所有子串是回文字符串的数量最多。
思路:当时,还是想了一会的,但是后来发现把所有相同的字符放在一起时,所得的子串的回文数是最多的,注意在计算时表达式应该是(n+1)*(n)/ 2
#include<iostream>
#include<algorithm>
using namespace std;
int k, t;
int pow(int x, int n){
int ans=;
for(;n;x=x*x, n>>=)
if(n&)ans=ans*x;
return ans;
} int main(){
cin>>t;
while(t--){
cin>>k;
int ans=;
for(int i=;i<=;++i)
if(k&(<<i))ans++;
cout<<pow(,ans)<<endl;
}
}
D题:
思路:就是简单的BFS,在节点里面多加个限制条件就好了。
#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<queue>
using namespace std;
const int maxn=2e3+;
int n,m,sx,sy,l,r;
int dx[]={-,,,};
int dy[]={,,-,};
struct Node{
int x,y,sl,sr;
Node(){}
Node(int a,int b,int c,int d):x(a),y(b),sl(c),sr(d){}
};
char mp[maxn][maxn];
bool vis[maxn][maxn];
deque<Node> qu;
int main(){
int i,j;
scanf("%d%d",&n,&m);
scanf("%d%d",&sx,&sy);
scanf("%d%d",&l,&r);
for(i=;i<=n;i++){
scanf("%s",mp[i]+);
}
int ans=;
vis[sx][sy]=true;
//while(!qu.empty()) qu.pop();
qu.push_front(Node(sx,sy,l,r));
while(!qu.empty()){
Node no=qu.front();qu.pop_front();
for(i=;i<;i++){
int xx=no.x+dx[i];
int yy=no.y+dy[i];
if(vis[xx][yy]||xx<||xx>n||yy<||yy>m||mp[xx][yy]=='*') continue;
if(i==){
if(no.sr>=){
vis[xx][yy]=true;ans++;
qu.push_back(Node(xx,yy,no.sl,no.sr-));
}
}
else if(i==){
if(no.sl>=){
vis[xx][yy]=true;ans++;
qu.push_back(Node(xx,yy,no.sl-,no.sr));
}
}
else{
vis[xx][yy]=true;ans++;
qu.push_front(Node(xx,yy,no.sl,no.sr));
}
}
}
printf("%d\n",ans);
return ;
}
codeforces 1064套题的更多相关文章
- codeforces 某套题s : surf(贪心 || 动态规划)
题目: Now that you’ve come to Florida and taken up surfing, you love it! Of course, you’ve realized th ...
- Educational Codeforces Round 15 套题
这套题最后一题不会,然后先放一下,最后一题应该是大数据结构题 A:求连续最长严格递增的的串,O(n)简单dp #include <cstdio> #include <cstdlib& ...
- 第46套题【STL】【贪心】【递推】【BFS 图】
已经有四套题没有写博客了.今天改的比较快,就有时间写.今天这套题是用的图片的形式,传上来不好看,就自己描述吧. 第一题:单词分类 题目大意:有n个单词(n<=10000),如果两个单词中每个字母 ...
- 【套题】qbxt国庆刷题班D1
Day1 事实上D1的题目还是比较简单的= =然而D1T2爆炸了就十分尴尬--错失一波键盘 看题 T1 传送门 Description 现在你手里有一个计算器,上面显示了一个数\(S\),这个计算器十 ...
- Moscow Pre-Finals Workshop 2016. Japanese School OI Team Selection. 套题详细解题报告
写在前面 谨以此篇题解致敬出题人! 真的期盼国内也能多出现一些这样质量的比赛啊.9道题中,没有一道凑数的题目,更没有码农题,任何一题拿出来都是为数不多的好题.可以说是这一年打过的题目质量最棒的五场比赛 ...
- Codeforces VP/补题小记 (持续填坑)
Codeforces VP/补题小记 1149 C. Tree Generator 给你一棵树的括号序列,每次交换两个括号,维护每次交换之后的直径. 考虑括号序列维护树的路径信息和,是将左括号看做 ...
- 套题 codeforces 359
A题:Free Ice Cream 注意要使用LL,避免爆int #include <bits/stdc++.h> #define scan(x,y) scanf("%d%d&q ...
- Codeforces Round #579 (Div. 3) 套题 题解
A. Circle of Students 题目:https://codeforces.com/contest/1203/problem/A 题意:一堆人坐成一个环,问能否按逆时针或者顺时针 ...
- 套题 codeforces 361
A题((Mike and Cellphone) 看起来好像需要模拟数字键位的运动,可是,只要判断出那些必然YES的数字组合不就好了么 #include <cstdio> #include ...
随机推荐
- Windows系统配置OutLook邮箱教程一
本示例演示Windows系统中OutLook邮箱设置 1.打开控制面板->类型选择小图标->找到Mail(Microsoft OutLook 2016). 2.鼠标左键双击Mail. 3. ...
- linux操作系统的前世今生
linux操作系统是李纳斯-拖瓦兹于1970年正式发布第一个真正的内核版本,他也称Linux之父,Linux是由Unix发展而来,发展到现在Linux操作系统凭借着良好的性能和稳定性已被linux已被 ...
- css+js调整当前界面背景音量
展示效果 html代码: <div> <audio id="audio" controls src="https://dbl.5518pay.com/r ...
- Netty2:粘包/拆包问题与使用LineBasedFrameDecoder的解决方案
什么是粘包.拆包 粘包.拆包是Socket编程中最常遇见的一个问题,本文来研究一下Netty是如何解决粘包.拆包的,首先我们从什么是粘包.拆包开始说起: TCP是个"流"协议,所谓 ...
- Intellij Idea 无法启动项目的配置坑
1. run/debug configuration里面,tomcat的deployment点击添加不能自动创建war-explorded包: 方案:删除project libraries,重新mav ...
- 如何使用SignTool签署应用程序包
备注 有关签署UWP应用程序包的信息,请参阅使用SignTool签署应用程序包. 了解如何使用SignTool对Windows应用商店应用包进行签名,以便部署它们.SignTool是Windows软件 ...
- MySQL 查询出的时间相差几个小时
最近做的一个springboot2.0项目. 前提是我的服务器时区没有问题: [root@wangbo ~]# date -R Mon, 22 Apr 2019 19:24:33 +0800 可以参考 ...
- python maximum recursion depth exceeded 处理办法
1.在执行命令 pyinstaller -F D:\py\programe\banksystem.py打包生成.exe文件时报错:python maximum recursion depth exce ...
- ASP.NET Core 3.0 上的gRPC服务模板初体验(多图)
早就听说ASP.NET Core 3.0中引入了gRPC的服务模板,正好趁着家里电脑刚做了新系统,然后装了VS2019的功夫来体验一把.同时记录体验的过程.如果你也想按照本文的步骤体验的话,那你得先安 ...
- 使用java语言,将字符串中连续重复出现的字母变成“出现次数“+字母的格式
今天在简书上看到这样一道有趣的算法题: 解题思路 首先定义一个变量element,默认是字符串的第一个字符.以element为基准元素,去判断某个字符是否重复.然后再去定义一个变量count去记录重复 ...