BestCoder Round #81 (div.2)
HDU:5670~5764
A题: 是一个3进制计数;
#include <bits/stdc++.h> using namespace std; int a[]; int calc(long long n) {
int i=;
while(n) {
a[i++] = n%;
n/=;
}
return i;
} int main()
{
int t;
cin>>t;
while(t--) {
memset(a,,sizeof());
int m; //长度
long long n;
cin>>m>>n;
int k = calc(n);
for(int i=;i<m-k;i++) {
putchar('R');
}
for(int i=min(k-,m-);i>=;i--) {
if(a[i]==)
putchar('R');
else if(a[i]==)
putchar('G');
else putchar('B');
}
puts("");
}
return ;
}
B题:矩阵操作,可以线段树,有更好的办法,就是现在的某一行是原来的哪一行记录下来;
#include <bits/stdc++.h> using namespace std; const int maxn = ;
int maps[maxn][maxn]; int r[maxn]; //当前的第i 行,是原来的r[i]
int c[maxn];
int addr[maxn]; //当前的第i 行,上面加了addr[i]
int addc[maxn]; int main()
{
int t;
scanf("%d",&t);
while(t--) {
memset(addr,,sizeof(addr));
memset(addc,,sizeof(addc)); int n,m;
int q;
scanf("%d%d%d",&n,&m,&q);
for(int i=;i<n;i++)
for(int j=;j<m;j++)
scanf("%d",&maps[i][j]); for(int i=;i<n;i++)
r[i] = i;
for(int i=;i<m;i++)
c[i] = i; int op,x,y;
while(q--) {
scanf("%d%d%d",&op,&x,&y);
if(op==)
{
x--;y--;
swap(r[x],r[y]);
swap(addr[x],addr[y]);
}
if(op==) {
x--;y--;
swap(c[x],c[y]);
swap(addc[x],addc[y]);
}
if(op==) {
x--;
addr[x]+=y;
}
if(op==) {
x--;
addc[x]+=y;
}
} for(int i=;i<n;i++) {
for(int j=;j<m;j++) {
if(j==m-)
printf("%d",maps[r[i]][c[j]]+addr[i]+addc[j]);
else
printf("%d ",maps[r[i]][c[j]]+addr[i]+addc[j]);
}
puts("");
}
}
return ;
}
C题:一个字符串,仅有小写字母,求有多少个子串,至少K个不同的字母;
尺取,最好是hash,map,set可能会超时
#include <bits/stdc++.h> using namespace std; const int maxn = +; char str[maxn];
int vis[]; int main()
{
int t;
cin>>t;
while(t--) {
int k;
scanf("%s%d",str+,&k);
int n = strlen(str+);
memset(vis,,sizeof(vis));
int r=;
int cnt=;
long long ans = ;
for(int l=;l<=n;l++) {
while(r<n&&cnt<k) {
++r;
if(++vis[str[r]]==)
cnt++;
}
if(cnt>=k)
ans +=n-r+;
if(--vis[str[l]]==)
--cnt;
}
cout<<ans<<endl;
}
return ;
}
D题: n秒后,回到原点,有多少不同的路径;
枚举向右走了几步;
公式出来了,大组合数用到乘法逆元,求卡特兰数,在CSUFTOJ中有一个出栈序列的问题,i 步有多少种出栈方式;(代码还没写)
BestCoder Round #81 (div.2)的更多相关文章
- BestCoder Round #81 (div.2) 1004 String(动态规划)
题目链接:BestCoder Round #81 (div.2) 1003 String 题意 中文题,上有链接.就不贴了. 思路 枚举起点i,计算能够达到k个不同字母的最小下标j,则此时有子串len ...
- BestCoder Round #81 (div.2) 1003 String
题目地址:http://bestcoder.hdu.edu.cn/contests/contest_showproblem.php?cid=691&pid=1003题意:找出一个字符串满足至少 ...
- BestCoder Round #81 (div.2)C String
总体思路好想,就是在找K个不同字母的时候,卡时间. 看了大神代码,发现goto的!!!!998ms #include<cstdio> #include<cstring> #in ...
- BestCoder Round #81 (div.2) B Matrix
B题...水题,记录当前行是由原矩阵哪行变来的. #include<cstdio> #include<cstring> #include<cstdlib> #inc ...
- BestCoder Round #81 (div.1)A
水题...就是n的三进制后m位 #include<cstdio> #include<cstring> #include<cstdlib> #include<i ...
- BestCoder Round #81 (div.2)1001
Machine Accepts: 580 Submissions: 1890 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65 ...
- hdoj5671 BestCoder Round #81 (div.2)
对于交换行.交换列的操作,分别记录当前状态下每一行.每一列是原始数组的哪一行.哪一列即可. 对每一行.每一列加一个数的操作,也可以两个数组分别记录.注意当交换行.列的同时,也要交换增量数组. 输出时通 ...
- BestCoder Round #69 (div.2) Baby Ming and Weight lifting(hdu 5610)
Baby Ming and Weight lifting Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K ( ...
- BestCoder Round #68 (div.2) tree(hdu 5606)
tree Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submis ...
随机推荐
- 爬虫beautifulsoup实践
爬虫beautifulsoup实践: 目的:在https://unsplash.com/上爬取图片并保存到本地文件夹里. 一.观察response.首先,在Chrome浏览器里观察一下该网页的re ...
- Ba Gua Zhen
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5544 学习链接:https://www.cnblogs.com/qscqesze/p/4902518. ...
- leetcode 862 shorest subarray with sum at least K
https://leetcode.com/problems/shortest-subarray-with-sum-at-least-k/ 首先回顾一下求max子数组的值的方法是:记录一个前缀min值, ...
- 对象池3(方法功能)PoolManager(控制)PoolTimeObject(时间管理)text01(调用)Destorys(销毁)
1.对象池PoolManager namespace kernal { public class PoolManager : MonoBehaviour { //“缓冲池”集合 public stat ...
- oled屏幕配套取字模软件使用
oled屏幕配套取字模软件使用 作者:李剀 出处:https://www.cnblogs.com/kevin-nancy/p/10531368.html欢迎转载,但也请保留上面这段声明.谢谢! **P ...
- Radix tree--reference
source address:http://en.wikipedia.org/wiki/Radix_tree In computer science, a radix tree (also patri ...
- HRBUST 1161——Leyni——————【线段树单点更新,区间查询】
Leyni Time Limit: 3000 MS Memory Limit: 65536 KB 64-bit integer IO format: %lld , %llu Java class na ...
- HDU 5222 ——Exploration——————【并查集+拓扑排序判有向环】
Exploration Time Limit: 30000/15000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)T ...
- Aaja.pro 未定义
问题描述:安装新系统后,将代码迁至新系统,所有用到ajaxpro框架调用ajax方法时均报“xx未定义”的错: 解决问题的过程 : 1.看看你在前台调用的方法的命名空间,方法名和后台的是否对应.在后台 ...
- 很有用的PHP笔试题系列一
1.抓取远程图片到本地,你会用什么函数? fsockopen, A 3.用PHP打印出前一天的时间,打印格式是2007年5月10日22:21:21 Echo date(‘Y-m-d H:i:s’,st ...