1007 a + b

 /*这题就是一个快速幂,但是十分猥琐的是,模是1e10 + 7,不是1e9 + 7,这就产生了一个爆long long的问题。所以要对快速幂中的乘法操作进行一下改造。请教了BIT_Is_a_Tree,学会了传说中的 「快速加」。原理和快速幂一模一样,a^{b}是b个a相乘,a \times b就是b个a相加。缺点是多了\log{n} 的复杂度。
*/
using namespace std;
typedef long long ll;
#define MOD 10000000007LL
ll fMul(ll a, ll b) {
ll t = , y = a;
while(b) {
if(b & ) t = (t + y) % MOD;
y = (y + y) % MOD;
b >>= ;
}
return t;
}
ll modExp(ll a, ll b) {
ll t = , y = a;
while(b) {
if(b & ) t = (fMul(t, y)) % MOD;
y = (fMul(y, y)) % MOD;
b >>= ;
}
return t;
}
int main() {
int T;
ll n, k, t, sum;
cin >> T;
while(T--) {
cin >> n >> k;
sum = ;
for(int i = ; i <= n; i++) {
cin >> t;
t = ((t % MOD) + MOD) % MOD;
sum += modExp(t, k);
sum %= MOD;
}
cout << sum << endl;
}
return ;
}

1008 A Very Easy Triangle Counting Game

 /*题意:在圆上取n个点,相邻两个点之间连线,(注意,n和1相邻),然后所有点对(i ,i+2)相连,问能形成的不同的三角形有多少个?

 思路:画图找规律,发现n=3,cnt=1;  n=4,cnt=8; n=5 cnt=35  (5*2+5*2+ 5+5+5); n=6 cnt= 32 (6*2+6*2+ 6+2);

         n=7,cnt=35(7*2+7*2+7); n=8, cnt=40(8*2+8*2+8) 发现后面项演变成多边形了!

      于是得到规律:n>6;cnt=5*n
*/
#include <stdio.h>
int a[]={,,,,,,};
int main()
{
int T,n,ans;
scanf("%d",&T);
for(int i=;i<=T;i++)
{
scanf("%d",&n);
ans=n>?(*n):a[n];
printf("Case #%d: %d\n",i,ans%);
}
return ;
}

1013 Count It!

 /*
扫一遍,胡乱暴力一发~
*/
#include<iostream>
#include<string.h>
#include<stdio.h>
#include<ctype.h>
#include<algorithm>
#include<stack>
#include<queue>
#include<set>
#include<math.h>
#include<vector>
#include<map>
#include<deque>
#include<list>
using namespace std;
int main()
{
int a;
while(cin>>a)
{
string b;
cin>>b;
int minn=;
for(int i=;i<b.size();i++)
{
if(b[i]=='L')
minn++;
}
cout<<minn+a-b.size()<<" "<<minn<<endl;
}
return ;
}

1020 The Game about KILL

   /*
约瑟夫环,n太大,首先可以想到打表找看有没有规律 可以发现时有规律的 可以看到,只要是2的i次幂,那么存活的是1,后面的依次加2 例如4为1,5就是3,6->5,7->7,8->1
--------------------------------------------------------
我直接拍log(n)/log(2),使劲wa,唉唉唉,姿势长傻了,没办法
*/
#include <stdio.h>
#include <string.h>
#include <algorithm>
using namespace std;
#define ll long long
ll f[],n; int main()
{
int i;
f[] = ;
for(i = ; i<; i++)
f[i] = f[i-]*;
while(~scanf("%lld",&n))
{
for(i = ; i<; i++)
{
if(n<f[i])
break;
}
printf("%lld\n",+*(n-f[i-]));
} return ;
}

1037 UUZ is hunger

 /*
sort一下,然后累加暴力一发~
*/
#include<iostream>
#include<string.h>
#include<stdio.h>
#include<ctype.h>
#include<algorithm>
#include<stack>
#include<queue>
#include<set>
#include<math.h>
#include<vector>
#include<map>
#include<deque>
#include<list>
using namespace std;
long long a[];
int main()
{
long long n,k;
while(scanf("%lld%lld",&n,&k)!=EOF)
{
memset(a,,sizeof(a));
long long sum=;
int ans=;
for(int i=;i<n;i++)
cin>>a[i];
sort(a,a+n);
for(int i=n-;i>=;i--)
{
sum+=a[i];
ans++;
if(sum>=k)
break;
}
cout<<ans<<endl;
}
return ;
}

1061 郭式树

 /*
啪啪啪,叫你别用cin,叫你别用cout,叫你沙茶
*/
#include <stdio.h>
#include <string.h>
#include <algorithm>
using namespace std; int main()
{
int t;
long long x, y;
unsigned long long z;
scanf("%d", &t);
while(t--)
{
scanf("%lld%lld", &x, &y);
if(x > y)
z = x - y;
else
z = y - x;
printf("%llu\n", z);
}
return ;
}

1064 完美数

   /*
数位DP,乱搞一发
s=0表示既不含3也不含8
s=1表示只含3
s=2表示只含8
s=3表示既含3也含8
*/
#include<cstdio>
#include<cstring>
int a[],f[][];
int new_s(int s,int d){
if(d==)return s|;
if(d==)return s|;
return s;
}
int dfs(int i,int s,bool e){
if(i==-)return s==||s==;
if(!e&&f[i][s]!=-)return f[i][s];
int res=,u=e?a[i]:,d;
for(d=;d<=u;d++)res+=dfs(i-,new_s(s,d),e&&(d==u));
return e?res:f[i][s]=res;
}
int cal(int n){
int i=;
while(n){a[i++]=n%,n/=;}
return dfs(i-,,);
}
int main(){
int T,l,r;
scanf("%d",&T);
memset(f,-,sizeof(f));
while(T--){
scanf("%d%d",&l,&r);
printf("%d\n",cal(r)-cal(l-));
}
return ;
}

1065 同心树

 /*
几何题目,乱搞就是
*/
#include<iostream>
#include<stdio.h>
#include<cstring>
#include<algorithm>
#include<cmath>
using namespace std;
int main( )
{
int T;
double N,a;
scanf("%d",&T);
while( T-- ){
scanf("%lf%lf",&N,&a);
if( a >= )
a -= ;
if( a == )
{
printf("%.2lf\n",N*N);
continue;
}
a = a*3.141592654/180.0;
double r = N/( + cos(a) + sin(a) );
printf("%.2lf\n",N*N-r*r*(sin(*a)));
}
return ;
}

1069 无耻的出题人

 /*题意:翻译题目之后,再解决翻译之后的题目
思路:斐布拉契数,注意规律,
翻译代码如下:
#include<stdio.h>
#include<cstring>
char s[28]={'0','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
int main()
{
long long a[100];
a[0]=1;a[1]=1;
for(int i=2;i<100;i++)
a[i]=a[i-1]+a[i-2];
char c[100];
gets(c);
for(int i=0,x=0;i<strlen(c);)
{
for(int j=1;j<=26;j++)
{
if(c[i]==s[j])
{
c[i]=s[(j-a[x]%26+26)%26];//题目的26个字母是循环的
i++;x++;
break;
}
else if(c[i]==' '||c[i]==',')
{
i++;
}
}
}
printf("%s",c);
//puts(c);
}
A题代码如下:
*/
#include <stdio.h>
#include <string.h>
int main()
{
char s[];
while(scanf("%s",s)!=EOF)
{
int sum=;
for(int i=;s[i];i++)
{
if(s[i]>='' && s[i] <='')
sum+=s[i]-'';
}
printf("%d\n",sum);
}
}

1088 哼!我才是最短的

 /*
输出的时候,按照8 1 7 2 6 3 5 4这种一大一小输出即可
*/
#include<iostream>
#include<cstdio>
using namespace std;
#define M 1000005
#define MN 100000
int main()
{
int n,a;
int i,j;
cin>>n;
while(n--)
{
cin>>a;
if(a%==)
{
for(i=,j=;i<a/-;i++)
{
cout<<a-i<<" "<<i+<<" ";
}
cout<<a/+<<" "<<a/<<endl;
}
else
{
for(i=,j=;i<a/;i++)
{
cout<<a-i<<" "<<i+<<" ";
}
cout<<a/+<<endl;
}
}
return ;
}

1125 ACfun

 /*
题意:找到最长的连续A的个数n,然后输出n+1个A
思路:暴力。
*/
#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std;
int main()
{
char s[];
int i,j,k,l,t;
int sum,max;
cin>>t;
getchar();
while(t--)
{
sum=max=;
gets(s);
for(i=;i<strlen(s);i++)
{
if(s[i]=='A')
{ sum=; for(j=i+;j<strlen(s);j++)
{
if(s[i]==s[j])
sum++;
if(sum>max)
max=sum;
if(s[i]!=s[j])
{
sum=;
break;
}
}
}
}
for(i=;i<=max;i++)
printf("A");
printf("\n");
}
return ;
}

ACdream 速攻组~的更多相关文章

  1. HTML代码大全

    1.html的简介* 什么是html?- HyperText Markup Language:超文本标记语言,网页语言** 超文本:超出文本的范畴,使用html可以轻松实现这样操作** 标记:html ...

  2. html 代码

    1.结构性定义 文件类型 <HTML></HTML> (放在档案的开头与结尾) 文件主题 <TITLE></TITLE> (必须放在「文头」区块内) 文 ...

  3. html常用代码大全

    1.结构性定义 文件类型 <HTML></HTML> (放在档案的开头与结尾) 文件主题 <TITLE></TITLE> (必须放在「文头」区块内) 文 ...

  4. 传奇身上装备升级系列脚本,以及UPGRADEITEMEX 脚本的详细参数解释

    UPGRADEITEMEX 脚本的详细参数解释如下: UPGRADEITEMEX 物品位置(0-12) 属性位置(0-14) 成功机率(0-100) 点数机率(0-255) 是否破碎(0,1) 物品位 ...

  5. 【链接】LINUX SHELL脚本攻略笔记[速查]

    LINUX SHELL脚本攻略笔记[速查]

  6. LINUX SHELL脚本攻略笔记[速查]

    Linux Shell脚本攻略笔记[速查] 资源 shell script run shell script echo printf 环境变量和变量 pgrep shell数学运算 命令状态 文件描述 ...

  7. Netsuite Formula > Oracle函数列表速查(PL/SQL单行函数和组函数详解).txt

    PL/SQL单行函数和组函数详解 函数是一种有零个或多个参数并且有一个返回值的程序.在SQL中Oracle内建了一系列函数,这些函数都可被称为SQL或PL/SQL语句,函数主要分为两大类: 单行函数 ...

  8. 史上最全PMP备考考点全攻略(上篇-五大过程组,附赠资料)

    一.这可能是一篇史上最全的PMP备考考点全梳理文章 写在前面,这可能是史上最全的PMBOK考点全书考点梳理,由PMP备考自律营呕心沥血整理,内容较长,分为上下篇,绝对值得所有正在备考PMP的学员收藏! ...

  9. 史丰收速算|2014年蓝桥杯B组题解析第四题-fishers

    史丰收速算 史丰收速算法的革命性贡献是:从高位算起,预测进位.不需要九九表,彻底颠覆了传统手算! 速算的核心基础是:1位数乘以多位数的乘法. 其中,乘以7是最复杂的,就以它为例. 因为,1/7 是个循 ...

随机推荐

  1. 个性化你的Git Log的输出格式

    git已经变成了很多程序员日常工具之一. git log是查看git历史的好工具,不过默认的格式并不是特别的直观. 很多时候想要更简便的输出更多或者更少的信息,这里列出几个git log的format ...

  2. Python爬虫---requests库快速上手

    一.requests库简介 requests是Python的一个HTTP相关的库 requests安装: pip install requests 二.GET请求 import requests # ...

  3. mysql -> 备份与恢复_11

    备份恢复原理 逻辑备份 物理备份 备份工具

  4. PHP计算字符串的长度

    <?php /** * 计算字符串的长度(汉字按照两个字符计算) * * @param string $str 字符串 * * @return int */ function str_len($ ...

  5. 浅谈js设计模式之单例模式

    单例模式的定义是:保证一个类仅有一个实例,并提供一个访问它的全局访问点. 单例模式是一种常用的模式,有一些对象我们往往只需要一个,比如线程池.全局缓存.浏览器中的 window 对象等.在 JavaS ...

  6. 从bind函数看js中的柯里化

    以下是百度百科对柯里化函数的解释:柯里化(Currying)是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数且返回结果的新函数的技术.概念太抽象,可能 ...

  7. java基础68 JavaScript城市联动框(网页知识)

    1.城市联动框 <!doctype html> <html> <head> <meta charset="utf-8"> <t ...

  8. asterisk各种报错

    1.控制台打印出: Got SIP response "Temporarily Unavailable" back from 210.13.87.110:5060   造成原因:在 ...

  9. POJ 3286 How many 0's(数位DP模板)

    题目链接:http://poj.org/problem?id=3286 题目大意: 输入n,m,求[n,m]的所有数字中,0出现的总数是多少,前导零不算. 解题思路: 模板题,设dp[pos][num ...

  10. javaweb笔记一

    内连接(自然连接): 只有两个表相匹配的行才能在结果集中出现 外连接: 包括 (1)左外连接(左边的表不加限制) (2)右外连接(右边的表不加限制) (3)全外连接(左右两表都不加限制 一个空的构造器 ...