今晚的两道 bc
第一道题 Beautiful Palindrome Number
,简单组合计数问题,手算打表就好~大概十五分钟左右搞定【第一次 提交竟然 wa了一次 有一个小小的坑在那。。。。
/*********************************
Author: jusonalien
Email : jusonalien@qq.com
school: South China Normal University
Origin:
*********************************/
#include <iostream>
#include <cstdio>
#include <map>
#include <cstring>
#include <string>
#include <set>
#include <queue>
#include <vector>
using namespace std;
int ans[7] = {1,9,18,54,90,174,258};
int T;
int main(){
cin>>T;
int k;
while(T--){
cin>>k;
printf("%d\n",ans[k]);
}
return 0;
}
一开始想到的就是 线段树啥的,尼玛一个人在那想啊想啊,想到蛋碎 都没想到究竟要怎么操作,突然间想到能不能到时反过来 递推过去?这么一想会不会很傻X?会不会T啊?尼玛 连具体方法都没想好,就担心T了,,简直太低能了,后来lpt好像也在做这个比赛,她在Q上吐槽道说她刚去图书馆水过第一题后图书馆就闭馆了,然后我和她讨论了一下第二题,聊着聊着就聊到了递推,然后就她说有个词叫做离线。。。哎原来这就是离线?然后 我就开始写 ,为了能够保证到时能够倒着推过去,就用stack咯,,结果还没写完就out of submit time了,没办法交了,,,rating就这么跑了囧rz
晚上出去散了一下步之后,回来接着写那道题目,第一次t了一次,,原来我天真地用了快速幂,其实不用快速幂更快,然后答案没有设为long long 又wa 了一发,然后 乱搞了几次后就ac了
/*********************************
Author: jusonalien
Email : jusonalien@qq.com
school: South China Normal University
Origin:
*********************************/
#include <iostream>
#include <cstdio>
#include <map>
#include <cstring>
#include <string>
#include <set>
#include <queue>
#include <vector>
#include <stack>
using namespace std;
const int MOD = 1e9 + 7;
int n,m,pow;
stack<int> op;
inline int fun_1(int o){
if(n&1){
if(o <= (n+1)/2)
return o*2 - 1;
else
return (o - (n+1)/2)*2;
}else{
if(o <= n/2)
return o*2 - 1;
else
return (o - n/2) * 2;
}
}
inline int fun_2(int o){
return n - o + 1;
}
inline int solve(int o,int q){
if(o == 1)
return fun_1(q);
else
return fun_2(q);
}
int query(int o){
stack<int> q = op;
while(!q.empty()){
o = solve(q.top(),o);
q.pop();
}
long long ans = o;
for(int i = 1;i <= pow;++i)
ans = (ans*ans)%MOD;
return ans;
}
int T;
int main(){
n = 5;
char ope[3];
int ope_;
cin>>T;
while(T--){
pow = 0;
while(!op.empty()) op.pop();
scanf("%d%d",&n,&m);
for(int i = 1;i <= m;++i){
scanf("%s %d",ope,&ope_);
if(ope[0] == 'O'&&ope_ != 3)
op.push(ope_);
else if(ope[0] == 'O'&&ope_ == 3 )
pow++;
else if(ope[0] == 'Q')
cout<<query(ope_)<<endl;
}
}
return 0;
}
今晚的两道 bc的更多相关文章
- ACM/ICPC 之 欧拉回路两道(POJ1300-POJ1386)
两道有关欧拉回路的例题 POJ1300-Door Man //判定是否存在从某点到0点的欧拉回路 //Time:0Ms Memory:116K #include<iostream> #in ...
- ACM/ICPC 之 Floyd范例两道(POJ2570-POJ2263)
两道以Floyd算法为解法的范例,第二题如果数据量较大,须采用其他解法 POJ2570-Fiber Network //经典的传递闭包问题,由于只有26个公司可以采用二进制存储 //Time:141M ...
- ACM/ICPC 之 SPFA范例两道(POJ3268-POJ3259)
两道以SPFA算法求解的最短路问题,比较水,第二题需要掌握如何判断负权值回路. POJ3268-Silver Cow Party //计算正逆最短路径之和的最大值 //Time:32Ms Memory ...
- ACM/ICPC 之 两道dijkstra练习题(ZOJ1053(POJ1122)-ZOJ1053)
两道较为典型的单源最短路径问题,采用dijkstra解法 本来是四道练习题,后来发现后面两道用dijkstra来解的话总觉得有点冗余了,因此暂且分成三篇博客(本篇以及后两篇). ZOJ1053(POJ ...
- 两道二分coming~
第一道:poj 1905Expanding Rods 题意:两道墙(距离L)之间架一根棒子,棒子受热会变长,弯曲,长度变化满足公式( s=(1+n*C)*L),求的是弯曲的高度h. 首先来看这个图: ...
- JAVA算法两道
算法(JAVA)----两道小小课后题 LZ最近翻了翻JAVA版的数据结构与算法,无聊之下将书中的课后题一一给做了一遍,在此给出书中课后题的答案(非标准答案,是LZ的答案,猿友们可以贡献出自己更快 ...
- 两道面试题,带你解析Java类加载机制
文章首发于[博客园-陈树义],点击跳转到原文<两道面试题,带你解析Java类加载机制> 在许多Java面试中,我们经常会看到关于Java类加载机制的考察,例如下面这道题: class Gr ...
- 【转】两道面试题,带你解析Java类加载机制(类初始化方法 和 对象初始化方法)
本文转自 https://www.cnblogs.com/chanshuyi/p/the_java_class_load_mechamism.html 关键语句 我们只知道有一个构造方法,但实际上Ja ...
- leetcode简单题目两道(2)
Problem Given an integer, write a function to determine if it is a power of three. Follow up: Could ...
随机推荐
- 笔试算法题(38):并查集(Union-Find Sets)
议题:并查集(Union-Find Sets) 分析: 一种树型数据结构,用于处理不相交集合(Disjoint Sets)的合并以及查询:一开始让所有元素独立成树,也就是只有根节点的树:然后根据需要将 ...
- <Spring Cloud>入门一 Eureka Server
1.搭建父工程 主要是添加版本依赖,此处版本是: spring-boot : 2.0.8.RELEASE spring-cloud : Finchley.SR2 <?xml version=& ...
- wampsever修改数据库密码
①进入localhost中的mysql数据库 ②再进入mysql数据库中的user表 ③将user表中的三个root账号的密码全部改为你想要的密码(不需要经过MD5加密) ④保存后重新启动服务 如果在 ...
- 【Mysql数据库】学习笔记
一.数据库的创建 create database database_name DEFAULT CHARACTER SET utf8; //创建一个数据库 drop database database ...
- 配置python3 项目环境
安装python3 安装仓库软件 sudo apt-get install software-properties-common python-software-properties 添加仓库 sud ...
- LeetCode(59)SPiral Matrix II
题目 Given an integer n, generate a square matrix filled with elements from 1 to n2 in spiral order. F ...
- [luoguP1033] 自由落体(模拟?)
传送门 这不能算是数论题... 卡精度这事noip也做的出来.. 代码 #include <cmath> #include <cstdio> int n, ans; doubl ...
- 网络编程基础:粘包现象、基于UDP协议的套接字
粘包现象: 如上篇博客中最后的示例,客户端有个 phone.recv(2014) , 当服务端发送给客户端的数据大于1024个字节时, 多于1024的数据就会残留在管道中,下次客户端再给服务端发命令时 ...
- 洛谷 通天系列 P1760 P1757 P1759
P1760 通天之汉诺塔 汉诺塔问题.一个高精乘单精解决 ans=2^n-1 /*by SilverN*/ #include<algorithm> #include<iostream ...
- 【ZJOI2017 Round1后记】
2017.4.1: NOIP+Round1综合成绩出来,标准分离续命线差了80分,果然还是联赛坑挖太大了…… 不管怎么说能续命的话还是要试一下的…… 发毒誓:Round2前不打手游,不看NGA,不看星 ...