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 ...
随机推荐
- 使用 connect http proxy 绕过 ssh 防火墙限制
1.安装 connect brew install connect 2.配置 ~/.ssh/config Host * ProxyCommand connect -H your.proxy.serve ...
- 【Python实践-3】汉诺塔问题递归求解(打印移动步骤及计算移动步数)
# -*- coding: utf-8 -*- #汉诺塔移动问题 # 定义move(n,a,b,c)函数,接受参数n,表示3个柱子A.B.C中第1个柱子A的盘子数量 # 然后打印出把所有盘子从A借助B ...
- MySQL学习(二)索引与锁 --- 2019年1月
1.Order By 是怎么工作的 MySQL做排序是一个成本比较高的操作.MySQL会为每个线程分配一个 sort_buffer 内存用于排序,该内存大小为 sort_buffer_size. 全字 ...
- Scanner对象及其获取数据出现小问题和解决方案
Scanner类简介: Java 5添加了java.util.Scanner类,我们可以通过Scanner类来获取用户输入.它是以前的StringTokenizer和Matcher类之间的某种结合.由 ...
- Android项目目录结构模板以及简单说明【简单版】
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 开发Android项目的时候,一般都是一边开发一边根据需求创建目录(包.module),那么我呢就根据以往的项目经验,整理出一个比较 ...
- LindAgile.SchedulingTask~设计一个不错的任务调度组件
回到目录 SchedulingTask产生的原因 任务调试主要指定期执行某些任务代码,之前用过quartz,感觉有些重,使用时需要添加包包,配置管理项时,对于简单的项目用它就显得有些臃肿了,不如直接上 ...
- spring-boot-starter-actuator /info获取空信息
用了spring-boot-starter-actuator,在监控页面对应服务中显示空值,下面是正常情况下有的值 pom配置了 <build> <plugins> <p ...
- SVN安装和使用(简单版)
为什么使用SVN? 通常软件的开发需要团队协作开发,每个人负责一个方面,都做完后需要把每个人的代码整合在一起,而每个人的代码方面不同或版本不同就会拖延开发进度对开发项目造成麻烦,如果一个人需要另一个人 ...
- HttpClient封装方法
//post请求 public static string PostRequest(string url, HttpContent data) { var handler = new HttpClie ...
- 从0开始用U盘制作启动盘装Windows10系统(联想R720笔记本)并永久激活方法
一,制作U盘启动盘 随着个人电脑的“飞入寻常百姓家”,喜欢DIY电脑的发烧友们也越来越多. 安装系统是DIY最基本的要求,很容易做到: 那么如果要求用U盘装系统呢,你可能会说简单,直接下载个老毛桃或是 ...