【题解】AcWing 193. 算乘方的牛】的更多相关文章

原题链接 题目描述 约翰的奶牛希望能够非常快速地计算一个数字的整数幂P(1 <= P <= 20,000)是多少,这需要你的帮助. 在它们计算得到最终结果的过程中只能保留两个工作变量用于中间结果. 第一个工作变量初始化为x,第二个工作变量初始化为1. 奶牛可以将任意一对工作变量相乘或相除(可以是一个工作变量与自己相乘或相除),并将结果储存在任意一个工作变量中,但是所有结果都只能储存为整数. 举个例子,如果它们想要得到x的31次方,则得到这一结果的一种执行方法如下所示: 工作变量1 工作变量2…
题目链接:https://ac.nowcoder.com/acm/contest/883/H 题意: 给你偶数个点的坐标,找出一条直线将这n个点分成数量相等的两部分 并在这条直线上取不同的两个点,表示这条直线 思路: 看见这题的第一反应是,先定一个相对这些点无限远的定点 然后取扫一遍,取一个其中一个点,找到一条能将这些点分成m个和m+1个点 最后将斜率微微倾斜,在直线上再取一点即可 最后疯狂WA,不知道是算法问题还是代码问题 听了大佬的讲解,发现自己真的蠢 最后的做法: 将这n个点按x坐标从小到…
题目:https://www.acwing.com/problem/content/245/ 题意:有n只牛,现在他们按一种顺序排好,现在知道每只牛前面有几只牛比自己低,牛的身高是1-n,现在求每只牛的身高 思路:我们可以考虑最后一只牛,最后一只牛前面比他低的有 a[n]只,那么他的身高就是 a[n]+1 假设这只取的是  1   ,倒数第二只牛  a[n-1]=1  ,说明前面有一只比他低,但是他不能直接取2,因为后面已经取了1,但是前面还有比他低的,说明每一步只能是在现有没被选的中选a[i]…
传送门 题目描述 有n头奶牛,已知它们的身高为 1~n 且各不相同,但不知道每头奶牛的具体身高. 现在这n头奶牛站成一列,已知第i头牛前面有Ai头牛比它低,求每头奶牛的身高. 输入格式 第1行:输入整数n. 第2..n行:每行输入一个整数Ai,第i行表示第i头牛前面有Ai头牛比它低.(注意:因为第1头牛前面没有牛,所以并没有将它列出) 输出格式 输出包含n行,每行输出一个整数表示牛的身高. 第i行输出第i头牛的身高. 数据范围 1≤n≤105 输入样例: 5 1 2 1 0 输出样例: 2 4…
切水题,写题解~ tarjan缩一波点,然后 只有一个出度为0的点:他的size就是答案 有多个初度为0的点:无解,0个 因为是强联通分量,所以肯定有出度为0的点,否则--就是你tarjan写挂了~ \[Talk\;is\;free\;,\;show\;me\;the\;code\] #include<iostream> #include<cstdio> #include<vector> #include<stack> #include<algorit…
有n头奶牛,已知它们的身高为 1~n 且各不相同,但不知道每头奶牛的具体身高. 现在这n头奶牛站成一列,已知第i头牛前面有a头牛比它低,求每头奶牛的身高. #include<bits/stdc++.h> using namespace std; const int N=1e5+5; int a[N],c[N],h[N],n; int lowbit(int x){return x&-x;} void add(int x,int ad){while(x<=n)c[x]+=ad,x+=…
点击查看代码 #include<iostream> using namespace std; string str; int main() { while (cin >> str, str != ".") { int len = str.size(); for (int n = len; n; n--) if (len % n ==0) { int m = len / n; string s = str.substr(0, m); string r; for (…
/* 给定数组a[],求有多少集合的异或值为0,将这些集合的大小之和求出来 对于每个数来说,如果除去这个数后数组里做出的线性基和这个数线性相关,那么这个数贡献就是2^(n-1-线性基的大小) 反之这个数和线性基线性无关,即数组里凑不出这个数来和其异或等于0,所以贡献就是0 由于做n次线性基很麻烦,所以简化问题,只需要先做出一个基,将数分成在基内和基外即可 首先做出一个线性基base,设其大小为r 然后分情况来讨论: 1.对于线性基外的每个数,其贡献是2^(n-r-1) 2.对于每个线性基内的数字…
//按照wi+si从小到大的顺序排,结果一定最优,最大的危险系数一定是最小的 //类比于国王游戏 #include <iostream> #include <algorithm> using namespace std; typedef pair<int, int> PII; ; int n; PII cow[N]; int main() { scanf("%d", &n); ; i < n; i ++ ) { int s, w; sc…
题目背景emmm \[\text{首先特判掉p=q时的情况(ans = }p^2-1\text{)}\] \[\text{构造函数}f(k) = \left\lfloor \frac{kq}{p}\right\rfloor\] \[\text{考虑这个函数}g(x)=\left\lfloor x \right\rfloor\text{的几何意义}\] \[\text{他表示在平面直角坐标系中,横坐标为定值,纵坐标小于等于x的整点个数}\] \[\text{好,那么我们继续来看f(k),他表示所有…