emm,a出3题,补了两题

A,B水题

#include<bits/stdc++.h>
#define fi first
#define se second
#define mp make_pair
#define pb push_back
#define read(a) scanf("%d",&a)
#define rread(a,b) scanf("%d%d",&a,&b)
#define pii pair<int,int>
#define C 0.5772156649
#define pi acos(-1.0)
#define ll long long
#define mod 1000000007
#define ls l,m,rt<<1
#define rs m+1,r,rt<<1|1 using namespace std; const double g=10.0,eps=1e-;
const int N=+,maxn=+,inf=0x3f3f3f3f; int main()
{
int n;
read(n);
for(int i=;i<n;i++)
{
int a,b;
rread(a,b);
printf("%d\n",*max(a,b)+min(a,b));
}
return ;
}
/******************** ********************/

A

#include<bits/stdc++.h>
#define fi first
#define se second
#define mp make_pair
#define pb push_back
#define read(a) scanf("%d",&a)
#define rread(a,b) scanf("%d%d",&a,&b)
#define pii pair<int,int>
#define C 0.5772156649
#define pi acos(-1.0)
#define ll long long
#define mod 1000000007
#define ls l,m,rt<<1
#define rs m+1,r,rt<<1|1 using namespace std; const double g=10.0,eps=1e-;
const int N=+,maxn=+,inf=0x3f3f3f3f; char s[N];
int main()
{
int n;
read(n);
for(int i=;i<n;i++)
{
int a,b;
scanf("%s",&s);
int len=strlen(s),ans=;
for(int i=;i<len;i++)
{
if(s[i]=='H')ans++;
else if(s[i]=='C')ans+=;
else ans+=;
}
printf("%d\n",ans);
}
return ;
}
/******************** ********************/

B

C:递推,首先想到矩阵快速幂,构造一个7维的矩阵,分别是ai-1,ai-2,i^4,i^3,i^2,i,1,再转移下去

#include<bits/stdc++.h>
#define fi first
#define se second
#define mp make_pair
#define pb push_back
#define read(a) scanf("%d",&a)
#define rread(a,b) scanf("%d%d",&a,&b)
#define pii pair<int,int>
#define C 0.5772156649
#define pi acos(-1.0)
#define ll long long
#define mod 2147493647
#define ls l,m,rt<<1
#define rs m+1,r,rt<<1|1 using namespace std; const double g=10.0,eps=1e-;
const int N=+,maxn=+,inf=0x3f3f3f3f; struct Node{
int len;
ll a[N][N];
};
Node mul(Node x,Node y)
{
Node ans;
memset(ans.a,,sizeof ans.a);
ans.len=x.len;
for(int i=;i<x.len;i++)
{
for(int j=;j<x.len;j++)
{
for(int k=;k<y.len;k++)
{
ans.a[i][k]=(ans.a[i][k]+x.a[i][j]*y.a[j][k]%mod)%mod;
}
}
}
return ans;
}
Node quick_mul(Node x,ll n)
{
Node ans;
memset(ans.a,,sizeof ans.a);
ans.len=x.len;
for(int i=;i<x.len;i++)ans.a[i][i]=;
while(n)
{
if(n&)ans=mul(ans,x);
x=mul(x,x);
n/=;
}
return ans;
}
int main()
{
int t;
read(t);
for(int i=;i<t;i++)
{
ll n,x,y;
scanf("%lld%lld%lld",&n,&x,&y);
if(n==)
{
printf("%lld\n",x%mod);
continue;
}
if(n==)
{
printf("%lld\n",y%mod);
continue;
}
Node A;
A.len=;
A.a[][]=,A.a[][]=,A.a[][]=,A.a[][]=,A.a[][]=,A.a[][]=,A.a[][]=;
A.a[][]=,A.a[][]=,A.a[][]=,A.a[][]=,A.a[][]=,A.a[][]=,A.a[][]=;
A.a[][]=,A.a[][]=,A.a[][]=,A.a[][]=,A.a[][]=,A.a[][]=,A.a[][]=;
A.a[][]=,A.a[][]=,A.a[][]=,A.a[][]=,A.a[][]=,A.a[][]=,A.a[][]=;
A.a[][]=,A.a[][]=,A.a[][]=,A.a[][]=,A.a[][]=,A.a[][]=,A.a[][]=;
A.a[][]=,A.a[][]=,A.a[][]=,A.a[][]=,A.a[][]=,A.a[][]=,A.a[][]=;
A.a[][]=,A.a[][]=,A.a[][]=,A.a[][]=,A.a[][]=,A.a[][]=,A.a[][]=;
A=quick_mul(A,n-);
ll ans=A.a[][]*y%mod;
ans=(ans+A.a[][]*x%mod)%mod;
ans=(ans+A.a[][]****%mod)%mod;
ans=(ans+A.a[][]***%mod)%mod;
ans=(ans+A.a[][]**%mod)%mod;
ans=(ans+A.a[][]*%mod)%mod;
ans=(ans+A.a[][]%mod)%mod;
printf("%lld\n",ans);
}
return ;
}
/******************** ********************/

C

G是个二分+积分题,由于关系找错了,导致一直没过,二分水平面和竖直的夹角,用积分求体积和,不倾斜的体积比较

#include<bits/stdc++.h>
#define fi first
#define se second
#define mp make_pair
#define pb push_back
#define read(a) scanf("%d",&a)
#define rread(a,b) scanf("%d%d",&a,&b)
#define pii pair<int,int>
#define C 0.5772156649
#define pi acos(-1.0)
#define ll long long
#define mod 2147493647
#define ls l,m,rt<<1
#define rs m+1,r,rt<<1|1 using namespace std; const double g=10.0,eps=1e-;
const int N=+,maxn=+,inf=0x3f3f3f3f; double f(double x)
{
double y=acos(*tan(x)-);
double a1,a2;
a1=pi*cos(y)-y*cos(y)+sin(y)-(1.0/3.0)*sin(y)*sin(y)*sin(y);
y=pi;
a2=pi*cos(y)-y*cos(y)+sin(y)-(1.0/3.0)*sin(y)*sin(y)*sin(y);
return (1.0/tan(x))*(a1-a2);
}
double bs(double x)
{
double l=,r=pi/;
while(r-l>1e-)
{
double m=(l+r)/;
if(f(m)>x)r=m;
else l=m;
}
return l;
}
int main()
{
int t;
scanf("%d",&t);
for(int i=;i<t;i++)
{
double d;
scanf("%lf",&d);
if(d<1e-)
{
printf("%.5f\n",0.0);
continue;
}
double ans=pi*sqrt(+(-d)*(-d));
if(d<)
{
double ang=bs(d*pi);
double p=*tan(ang),ang1=acos(-p),v=ang1-(-p)*sqrt(-(-p)*(-p));
ans=v/sin(ang);
}
printf("%.5f\n",ans);
}
return ;
}
/******************** ********************/

G

E,求点为m个的团有多少个,因为没学过最大团的算法,所以不敢写,补题的时候发现居然dfs就能过= =,直接暴力dfs找到含m个点的团就退出

#include<bits/stdc++.h>
#define fi first
#define se second
#define mp make_pair
#define pb push_back
#define read(a) scanf("%d",&a)
#define rread(a,b) scanf("%d%d",&a,&b)
#define pii pair<int,int>
#define C 0.5772156649
#define pi acos(-1.0)
#define ll long long
#define mod 2147493647
#define ls l,m,rt<<1
#define rs m+1,r,rt<<1|1 using namespace std; const double g=10.0,eps=1e-;
const int N=+,maxn=+,inf=0x3f3f3f3f; bool ok[N][N];
int contain[N],ans;
int n,m,s;
vector<int>v[N];
void dfs(int u,int a[],int sz)
{
if(sz==s)
{
ans++;
return ;
}
for(int i=;i<v[u].size();i++)
{
bool f=;
for(int j=;j<sz;j++)
{
if(!ok[v[u][i]][a[j]])
{
f=;
break;
}
}
if(!f)
{
a[sz++]=v[u][i];
dfs(v[u][i],a,sz);
sz--;
}
}
}
int main()
{
int t;
read(t);
for(int i=;i<t;i++)
{
rread(n,m);read(s);
for(int i=;i<=n;i++)v[i].clear();
memset(ok,,sizeof ok);
while(m--)
{
int a,b;
rread(a,b);
if(a>b)swap(a,b);
v[a].pb(b);
ok[a][b]=ok[b][a]=;
}
ans=;
for(int i=;i<=n;i++)
{
// memset(contain,0,sizeof contain);
contain[]=i;
dfs(i,contain,);
}
printf("%d\n",ans);
}
return ;
}
/******************** ********************/

E

最新文章

  1. 多线程下NSOperation、NSBlockOperation、NSInvocationOperation、NSOperationQueue的使用
  2. poj2253 Frogger(最短路变型或者最小生成树)
  3. [改善Java代码]不推荐覆写start方法
  4. python处理mysql慢查询日志
  5. Spark 启动过程(standalone)
  6. cocos2dx对于强大的RichText控制
  7. maven如何修改本地仓库与中央仓库
  8. 使用Vue和thrift建立前后端交互的demo
  9. 用js来实现那些数据结构(数组篇01)
  10. flex使内部内容自适应宽度
  11. mysql远程连接 Host * is not allowed to connect to this MySQL server(第一次配置好lnmp环境)
  12. amcharts去除版权标志
  13. Mysql InnoDB三大特性-- change buffer
  14. java去除数组中重复的元素方法总结
  15. 更改虚拟内存(使用于win7、win8系统)
  16. python16_day39【算法】
  17. js中获取页面元素节点的几种方式
  18. ajax 解析
  19. oracle如何进行索引监控分析和优化
  20. spring+thymeleaf实现表单验证数据双向绑定

热门文章

  1. pmd 使用笔记
  2. MySQL中B+树索引的使用
  3. 前端基础-html(3)
  4. P2P-BT对端管理协议(附BT协议1.0)
  5. 004-ibus输入法,快捷键,浏览器
  6. mysql用户管理(新增用户及权限管理)
  7. net-snmp配置文件snmp.conf
  8. LeetCode:罗马数字转整数【13】
  9. 02_虚拟机的安装和SecureCRT、FileZilla、Xmanage、UltraEdit工具的介绍
  10. 【leetcode刷题笔记】Sudoku Solver