A

模拟题

#include <bits/stdc++.h>
#define PI acos(-1.0)
#define mem(a,b) memset((a),b,sizeof(a))
#define TS printf("!!!\n")
#define pb push_back
#define inf 1e9
//std::ios::sync_with_stdio(false);
using namespace std;
//priority_queue<int,vector<int>,greater<int>> que; get min
const double eps = 1.0e-10;
const double EPS = 1.0e-4;
typedef pair<int, int> pairint;
typedef long long ll;
typedef unsigned long long ull;
//const int maxn = 3e5 + 10;
const int maxn = ;
const int turn[][] = {{, }, { -, }, {, }, {, -}};
const int turn2[][] = {{, }, { -, }, {, }, {, -}, {, -}, { -, -}, {, }, { -, }};
//priority_queue<int, vector<int>, less<int>> que;
//next_permutation
int main()
{
double h, m, C;
cin >> h >> m;
int H, D, N;
cin >> H >> D >> C >> N;
double ans = ;
double duce = ;
if (h < )
{
duce = 1.0 * ( - h) * - m;
}
else
{
C = 0.8 * C;
}
int need = H / N + ( - (H % N == ));
double ans1 = 1.0 * need * C;
if (duce != )
{
H += D * duce;
C = 0.8 * C;
need = H / N + ( - (H % N == ));
ans = need * C;
printf("%.4f\n", min(ans, ans1));
}
else
{
printf("%.4f\n", ans1);
}
}

B

阅读理解

#include <bits/stdc++.h>
#define PI acos(-1.0)
#define mem(a,b) memset((a),b,sizeof(a))
#define TS printf("!!!\n")
#define pb push_back
#define inf 1e9
//std::ios::sync_with_stdio(false);
using namespace std;
//priority_queue<int,vector<int>,greater<int>> que; get min
const double eps = 1.0e-10;
const double EPS = 1.0e-4;
typedef pair<int, int> pairint;
typedef long long ll;
typedef unsigned long long ull;
//const int maxn = 3e5 + 10;
const int turn[][] = {{, }, { -, }, {, }, {, -}};
//priority_queue<int, vector<int>, less<int>> que;
//next_permutation
int ch[];
int main()
{
int sum = ;
string a;
cin >> a;
for (int i = ; i < a.size(); i++)
{
if (ch[a[i] - 'a'] == )
{
sum++;
}
ch[a[i] - 'a']++;
}
if (sum > )
{
cout << "No" << endl;
return ;
}
if (sum == )
{
cout << "Yes" << endl;
}
else if (sum == )
{
for (int i = ; i <= ; i++)
{
if (ch[i] > )
{
cout << "Yes" << endl;
return ;
}
}
cout << "No" << endl;
}
else if (sum == )
{
for (int i = ; i <= ; i++)
{
if (ch[i] == )
{
cout << "No" << endl;
return ;
}
}
cout << "Yes" << endl;
}
else
{
cout << "No" << endl;
}
return ;
}

C

给你Q(1~1e5)个询问 每个询问有L,R(1~1e18)

问你L~R之间有多少个"good number"  “good number"是a^p的数 a>0 p>1

因为总共有1e18个数 所以当p固定时 就有10^(18/p)个数 当p为2的时候很大 特殊处理 二分枚举checkL和R的sqrt得到答案

再来处理3~60部分(因为2^60>1e18)的答案 因为最大的10^(18/3)只有1e6所以可以全部枚举出来再nlogn排序去重 预处理复杂度为nlogn

#include <bits/stdc++.h>
#define PI acos(-1.0)
#define mem(a,b) memset((a),b,sizeof(a))
#define TS printf("!!!\n")
#define pb push_back
#define inf 1e9
//std::ios::sync_with_stdio(false);
using namespace std;
//priority_queue<int,vector<int>,greater<int>> que; get min
const double eps = 1.0e-10;
typedef pair<int, int> pairint;
typedef long long ll;
typedef unsigned long long ull;
//const int maxn = 3e5 + 10;
const int maxn = ;
const int turn[][] = {{, }, { -, }, {, }, {, -}};
const int turn2[][] = {{, }, { -, }, {, }, {, -}, {, -}, { -, -}, {, }, { -, }};
//priority_queue<int, vector<int>, less<int>> que;
//next_permutation
ll nowmaxn = 1e18;
ll anser1;
ll anser2;
ll num[];
int pop = ;
//ll qpow(ll a, ll b)
//{
// ll ans = 1, base = a;
// while (b != 0)
// {
// if (b & 1 != 0)
// {
//   ans *= base;
// }
// base *= base;
// b >>= 1ll;
//  
// }
// return ans;
//}
bool judge(ll x)
{
ll s = sqrt(x);
for (ll i = s; i <= s + ; i++)
{
if (1LL * i * i == x)
{
return true;
}
}
return false;
}
void init()
{
ll now;
ll limit;
for (ll i = ; i <= ; i++)
{
limit = nowmaxn / i;
now = 1LL * i * i;
for (ll j = ;; j++)
{
now = 1LL * i * now;
if (!judge(now))
{
num[pop++] = now;
}
if (now > limit)
{
break;
}
}
}
sort(num + , num + pop);
pop = unique(num + , num + pop) - num;
}
ll gettwo(ll x)
{
ll ans;
ll l = ;
ll r = 2e9;
while (l < r - )
{
ll mid = (l + r) >> ;
if (mid * mid <= x)
{
l = mid;
}
else
{
r = mid;
}
}
return l;
}
int main()
{
init();
// for (int i = 1; i <= 10; i++)
// {
// cout << num[i] << " ";
// }
// cout << endl;
ll L, R;
int q;
cin >> q;
for (int i = ; i <= q; i++)
{
anser1 = anser2 = ;
scanf("%lld %lld", &L, &R);
if (L == )
{
anser1++;
}
anser1 = gettwo(R) - gettwo(L - );
//cout << anser1 << endl;
int L1 = lower_bound(num + , num + pop, L) - num;
int R1 = lower_bound(num + , num + pop, R) - num;
//cout << " " << L1 << " " << R1 << endl;
if (L1 == R1)
{
if (num[L1] == R)
{
anser2++;
}
}
else
{
anser2 = R1 - L1 + (num[R1] == R);
}
cout << anser1 + anser2 << endl;
}
}

Codeforces 955 LR询问 多次幂处理的更多相关文章

  1. codeforces magic five --快速幂模

    题目链接:http://codeforces.com/contest/327/problem/C 首先先算出一个周期里面的值,保存在ans里面,就是平常的快速幂模m做法. 然后要计算一个公式,比如有k ...

  2. CodeForces - 691E Xor-sequences 【矩阵快速幂】

    题目链接 http://codeforces.com/problemset/problem/691/E 题意 给出一个长度为n的序列,从其中选择k个数 组成长度为k的序列,因为(k 有可能 > ...

  3. Codeforces 963 A. Alternating Sum(快速幂,逆元)

    Codeforces 963 A. Alternating Sum 题目大意:给出一组长度为n+1且元素为1或者-1的数组S(0~n),数组每k个元素为一周期,保证n+1可以被k整除.给a和b,求对1 ...

  4. Codeforces 691E题解 DP+矩阵快速幂

    题面 传送门:http://codeforces.com/problemset/problem/691/E E. Xor-sequences time limit per test3 seconds ...

  5. 【codeforces 623E】dp+FFT+快速幂

    题目大意:用$[1,2^k-1]$之间的证书构造一个长度为$n$的序列$a_i$,令$b_i=a_1\ or\ a_2\ or\ ...\ or a_i$,问使得b序列严格递增的方案数,答案对$10^ ...

  6. Codeforces 691E Xor-sequences(矩阵快速幂)

    You are given n integers a1,  a2,  ...,  an. A sequence of integers x1,  x2,  ...,  xk is called a & ...

  7. codeforces 696C C. PLEASE(概率+快速幂)

    题目链接: C. PLEASE time limit per test 1 second memory limit per test 256 megabytes input standard inpu ...

  8. Codeforces 954 dijsktra 离散化矩阵快速幂DP 前缀和二分check

    A B C D 给你一个联通图 给定S,T 要求你加一条边使得ST的最短距离不会减少 问你有多少种方法 因为N<=1000 所以N^2枚举边数 迪杰斯特拉两次 求出Sdis 和 Tdis 如果d ...

  9. [Luogu3242][HNOI2015]接水果

    Luogu 我今天做两道整体二分结果全都是BZOJ权限题??? sol 我们抓住"盘子的路径是水果的路径的子路径"这个条件. 考虑每一个盘子路径\((u,v)\),讨论它可以作为哪 ...

随机推荐

  1. nginx中lua主动设置Content-Length

    最近发现lua调用ngx.say和ngx.print 默认返回的HTTP头是trunk模式的,通常情况下是很好的,没有什么问题:但是要提供给其他人回源的时候就有问题了,特别是我要给slice模块回源, ...

  2. Python中的self用法之面向对象

    class Student(object): def __init__(self, name, score): self.__name = name self.__score = score def ...

  3. 机器学习中L1,L2正则化项

    搞过机器学习的同学都知道,L1正则就是绝对值的方式,而L2正则是平方和的形式.L1能产生稀疏的特征,这对大规模的机器学习灰常灰常重要.但是L1的求解过程,实在是太过蛋疼.所以即使L1能产生稀疏特征,不 ...

  4. Python基本语法_基本数据类型_序列类型详解

    目录 目录 序列 序列的标准操作符 切片操作符 一个例子 字符串的连接 序列的功能函数 enumerate 枚举出序列对象的元素 len 获取序列对象的长度 min 取出sequence中的最小值 m ...

  5. Jmeter之仅一次控制器

    在进行压测时,往往登录只需要一次,其他的接口需要循环测试.这里就会用到控制器中的仅一次控制器.只要放置在控制器的请求,不管在哪种情况下,都只执行一次. 1.名称:可以标识在该控制器下主要完成的 工作内 ...

  6. IDEA激活—免费永久激活(lookdiv.com)

    网址: http://lookdiv.com/ 钥匙就是网址 钥匙:lookdiv.com 亲测有效!非常好用.

  7. 【windows】windows安全基础

    windows安全基础 安全主体 security principal 是可以进行身份验证的实体. 哪个安全主体在要求访问?这个维度可以是用户,计算机和进程.一旦确认以后,系统就会发放SID. 例子: ...

  8. DG on Windows 10 S: 执行任意代码

    DG on Windows 10 S: 执行任意代码 windows 10 S版本是什么鬼? 众所周知,我们使用的是windows 10企业版 LTSC.更准确一点,CMD运行winver,我的版本是 ...

  9. 2.proxychains----Macchanger----anonsurf

    nano /etc/proxychains.conf 激活dynamic_chain 同是启用proxy_dns 只启用IP会泄露DNS位置信息,别人就知道你在用匿名 ipconfig    ifco ...

  10. .net core 学习小结之 PostMan报415

    首先415的官方解释是:对于当前请求的方法和所请求的资源,请求中提交的实体并不是服务器中所支持的格式,因此请求被拒绝. 也就是说我所准备的数据格式并不是后台代码使用的数据格式 后台代码如下 using ...