“玲珑杯”ACM比赛 Round #23
Time Limit:2s Memory Limit:128MByte
Submissions:263Solved:97
给定一个整数n,输出[(10^n)/7]的个位数。
其中 abs(n) ≤ 1e18
接下来每一行一个整数n。
#include<bits/stdc++.h>
using namespace std;
string s="";
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
long long n;
cin>>n;
n--;
if(n<)
printf("0\n");
else
printf("%c\n",s[n%]);
}
Time Limit:2s Memory Limit:128MByte
Submissions:127Solved:86
给定一个99的数独,判断该数独是否合法。
如果合法输出Yes,否则输出No。
数独当且仅当每行每列以及9个33的小方格都是1〜9的9个数才合法。
两组数据之间没有空行。
保证输入的数独中的数都在1~9中。
B直接暴力判断
#include<bits/stdc++.h>
using namespace std;
int a[][];
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
int f=;
for(int i=; i<; i++)
for(int j=; j<; j++)
scanf("%d",&a[i][j]);
for(int i=; i<; i+=)
for(int j=; j<; j+=)
{
int b[]= {};
for(int k=i-; k<=i; k++)
for(int l=j-; l<=j; l++)
if(a[k][l]>&&a[k][l]<)b[a[k][l]]++;
for(int i=; i<; i++)
if(!b[i])f=;
}
printf("%s\n",f?"Yes":"No");
}
}
Time Limit:2s Memory Limit:128MByte
Submissions:131Solved:66
给定一个正整数n,现在有n个石头,每个单独成一堆。
现在可以每次合并两堆石头,产生的能量为两堆石头个数的min。
你现在要将所有的石头合并成一堆,并且获得的能量最大。
输出这个最大值。
1 ≤ n ≤ 1e7。
数据满足一个测试点中,最多只有1个n超过1e6。
C太暴力了我,用的是合并
#include<bits/stdc++.h>
using namespace std;
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
map<int,int>M;
int n,a,b,c,d;
scanf("%d",&n);
M[]=n;
long long ans=;
for(;;)
{
a=M.begin()->first,b=M.begin()->second;
if(b>)
{
ans+=b/*a;
M[a+a]=b/;
if(b&)M[a]=;
else M.erase(M.begin());
}
else if(b==)
{
if(M.size()==)break;
else
{
c=(++M.begin())->first,d=(++M.begin())->second;
ans+=a;
M[a+c]=;
M.erase(M.begin());
M[c]=d-;
}
}
else M.erase(M.begin());
if(!M.size())break;
}
printf("%lld\n",ans);
}
}
蓝金爷的直接分堆
#include<bits/stdc++.h>
using namespace std;
long long ans;
void dfs(int x)
{
if(x==)return;
ans+=x/,dfs(x/);
if(x&)dfs(x/+);
else dfs(x/);
}
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
int n;
cin>>n;
ans=;
dfs(n);
cout<<ans<<"\n";
}
}
TLE的直接优先队列(1e7我电脑要2s,优化下可以1s跑完,但是OJ没那么快啊
#include<bits/stdc++.h>
using namespace std;
priority_queue<int, vector<int>, greater<int> > Q;
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
while(!Q.empty())Q.pop();
int n;
scanf("%d",&n);
for(int i=;i<n;i++)
Q.push();
long long ans=;
while(Q.size()>=)
{
int a=Q.top();Q.pop();
int b=Q.top();Q.pop();
ans+=a;
Q.push(a+b);
}
printf("%lld\n",ans);
}
}
Time Limit:2s Memory Limit:128MByte
Submissions:25Solved:20
给定两个正整数 nn 和 kk, 请求出
∑x1=0 ∑x2=0...∑xn=0 x1+x2+...+xnkx1+x2+...+xn∑x1=0 ∑x2=0...∑xn=0 x1+x2+...+xnkx1+x2+...+xn
(如果公式看不懂,请看图)
数据保证答案是一个有理数,我们假设它为 pqpq , 你只需输出它对 1e9+71e9+7 的模即可。(即 p∗q−1p∗q−1 对 1e9+71e9+7 的模数)。
对于每组数据:
一行两个正整数,表示 nn 和 kk 。
数据满足 1<=T<=1000,1<=n<=1e9,2<=k<=1e91<=T<=1000,1<=n<=1e9,2<=k<=1e9 。
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const int MD=1e9+;
LL po(LL a, LL n)
{
LL ans = ;
while(n)
{
if(n&) ans=(ans*a)%MD;
a=(a*a)%MD;
n>>=;
}
return(ans+MD)%MD;
}
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
LL n,k,a,b;
scanf("%lld%lld",&n,&k);
a=po(k,n)*n%MD;
b=po(k-,n+)%MD;
LL bn=po(b,MD-);
printf("%lld\n",(a*bn)%MD);
}
return ;
}
“玲珑杯”ACM比赛 Round #23的更多相关文章
- “玲珑杯”ACM比赛 Round #12题解&源码
我能说我比较傻么!就只能做一道签到题,没办法,我就先写下A题的题解&源码吧,日后补上剩余题的题解&源码吧! A ...
- “玲珑杯”ACM比赛 Round #19题解&源码【A,规律,B,二分,C,牛顿迭代法,D,平衡树,E,概率dp】
A -- simple math problem Time Limit:2s Memory Limit:128MByte Submissions:1599Solved:270 SAMPLE INPUT ...
- “玲珑杯”ACM比赛 Round #19 B -- Buildings (RMQ + 二分)
“玲珑杯”ACM比赛 Round #19 Start Time:2017-07-29 14:00:00 End Time:2017-07-29 16:30:00 Refresh Time:2017-0 ...
- “玲珑杯”ACM比赛 Round #1
Start Time:2016-08-20 13:00:00 End Time:2016-08-20 18:00:00 Refresh Time:2017-11-12 19:51:52 Public ...
- “玲珑杯”ACM比赛 Round #18
“玲珑杯”ACM比赛 Round #18 Start Time:2017-07-15 12:00:00 End Time:2017-07-15 15:46:00 A -- 计算几何你瞎暴力 Time ...
- “玲珑杯”ACM比赛 Round #1 题解
A:DESCRIPTION Eric has an array of integers a1,a2,...,ana1,a2,...,an. Every time, he can choose a co ...
- 玲珑杯”ACM比赛 Round #4 1054 - String cut 暴力。学到了扫描的另一种思想
http://www.ifrog.cc/acm/problem/1054 问删除一个字符后的最小循环节是多少. 比赛的时候想不出,不知道怎么暴力. 赛后看了别人代码才晓得.唉,还以为自己字符串还不错, ...
- “玲珑杯”ACM比赛 Round #18--最后你还是AK了(搜索+思维)
题目链接 DESCRIPTION INPUT OUTPUT SAMPLE INPUT 1 4 2 1 2 5 2 3 5 3 4 5 5 5 SAMPLE OUTPUT 35 HINT 对于样例, ...
- “玲珑杯”ACM比赛 Round #22 E 贪心,脑洞
1171 - 这个E大概是垃圾桶捡来的 Time Limit:2s Memory Limit:128MByte Submissions:138Solved:45 DESCRIPTION B君在做 CO ...
随机推荐
- informix服务端卸载后重新安装不成功
可能原因: 1.实例未删除 2.配置文件未删除 安装成功后远程客户端连接不上问题: 1..如果自己设置的数据库实例报错,换一个数据库实例(database)试试,例如sysadmin
- 洛谷 P2905 [USACO08OPEN]农场危机Crisis on the Farm
题目描述 约翰和他的奶牛组建了一只乐队“后街奶牛”,现在他们正在牧场里排练.奶牛们分成一堆 一堆,共1000)堆.每一堆里,30只奶牛一只踩在另一只的背上,叠成一座牛塔.牧场 里还有M(1 < ...
- mysql 速度检索
授权GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'127.0.0.1' IDENTIFIED BY 'zabbixpwd' WITH GRANT OPTI ...
- opensue "Have a lot of fun..."的出处
每次登陆opensuse都会出现“Have a lot of fun...”,觉得奇怪. 通过搜索发现在这是/etc/motd文件中配置的. MOTD(5) ...
- OO第三次电梯作业优化
目录 第三次电梯作业个人优化 前言 优化思路 一.调度器 二.电梯 第三次电梯作业个人优化 前言 由于个人能力有限,第二次电梯作业只能完成正确性设计,没能进行优化,也因此损失了强测分数,于是第三次电梯 ...
- python之道13
看代码分析结果 func_list = [] for i in range(10): func_list.append(lambda :i) v1 = func_list[0]() v2 = func ...
- 标签中的name属性和ID属性的区别
标签中的name属性和ID属性的区别 2018年05月13日 10:17:44 tssit 阅读数:760 编程这么久,细想了一下,发现这个问题还不是很清楚,汗!看了几篇文章,整理了一下,分享下! ...
- ctDNA|endosymbiosis
5.10叶绿体基因组编码多种蛋白质和RNA 叶绿体和线粒体的共同点:叶绿体和线粒体的大小,功能(编码区)大体一致,但叶绿体拥有更多基因,所以在编码tRNA时,也有内含子作为被剪切片段. 因为在原核生物 ...
- Java替换手机号掩码
String tel = "18304072984"; // 括号表示组,被替换的部分$n表示第n组的内容 tel = tel.replaceAll("(\\d{3})\ ...
- java基础—线程(二)
一.线程的优先级别