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 ;
}

最新文章

  1. 微信小程序开发日记——高仿知乎日报(中)
  2. CommonJS,AMD,CMD区别
  3. TypeScript Declaration Merging(声明合并)
  4. 接触到得到新语言里面涉及到很多关于ECMscript相关知识,所以还是来总结一下吧
  5. PHP实例开发(3)PHP中MVC学习之ThinkPHP
  6. 数据结构算法[c语言]
  7. 【bzoj3218】 a + b Problem
  8. php ceil() 函数向上舍入为最接近的整数。
  9. ZJOIDay2T1 BB题解
  10. Unity3d 去掉exe版本的边框
  11. ORA-01017 invalid username/password;logon denied&quot; (密码丢失解决方案)
  12. I.MX6 android BatteryService jni hacking
  13. Grails架设和配置--起步
  14. Strata 2014 上的 AzureCAT 粉笔会谈
  15. 为什么在Python里推荐使用多进程而不是多线程
  16. Vue技巧小结(持续更新)
  17. 爬虫初窥day3:BeautifulSoup
  18. Maven项目继承与聚合
  19. Vue面试题整理
  20. docker stack 部署 filebeat

热门文章

  1. 【不知道是啥的NOIP模拟赛】网络入侵
  2. Windows版Oracle重建EM---备注
  3. Access中替代case when的方法 .
  4. MySQL权限操作:Grant、Revoke
  5. SNMP相关命令
  6. WEB前端 [编码] 规则浅析
  7. 编写组件TComponent published $M+ 问题
  8. Jackson jsonToBean 忽略 Bean中不存在属性的匹配。
  9. Unix IPC之共享内存区(1)
  10. 利用sys.dm_db_index_physical_stats查看索引大小/碎片等信息