【二分或者STL】

二分:

#include<bits/stdc++.h>
using namespace std;
const int maxn=;
int a[maxn];
int main()
{
int K,N,i,cnt=,pos;
scanf("%d%d",&K,&N);
for(i=;i<=N;i++) scanf("%d",&a[i]);
sort(a+,a+N+);
for(i=;i<=N;i++){
pos=lower_bound(a+,a+N+,K-a[i])-a;
if(pos>i&&a[pos]==K-a[i]) printf("%d %d\n",a[i],K-a[i]),cnt++;
}
if(cnt==) puts("No Solution");
return ;
}

set:

#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<algorithm>
#include<cstring>
#include<set>
using namespace std;
int k,n,a[],s,q,flag;
set<int>st;
int main()
{
flag=;
cin>>k>>n;
for(int i=;i<=n;i++)
{
scanf("%lld",&s);
a[i]=s;
st.insert(s);
}
sort(a+,a++n);
set<int>::iterator j;
for(int i=;i<=n;i++)
{
q=k-a[i];
j=st.find(q);
if(j==st.end()) continue;
else{
if(*j>a[i])
{
flag=;
printf("%d %d\n",a[i],*j);
}
}
}
if(flag==) puts("No Solution");
return ;
}

【B:贪心题】

#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int maxn=;
int a[maxn];
int main()
{
int N,i,j; ll ans=;
scanf("%d",&N);
for(i=;i<=N;i++) scanf("%d",&a[i]);
sort(a+,a+N+);
for(i=;i<=N;i++) a[i]+=a[i-],ans+=a[i];
printf("%lld\n",ans);
return ;
}

【C:暴力】

#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int maxn=1e6+;
ll sum[maxn];
bool check(int x)
{
if(x%==) return true;
while(x){
if(x%==) return true;
x/=;
} return false;
}
void solve()
{
for(int i=;i<maxn;i++){
sum[i]=sum[i-];
if(!check(i)) sum[i]+=(ll)i*i;
}
}
int main()
{
solve();
int T,N;
scanf("%d",&T);
while(T--){
scanf("%d",&N);
printf("%lld\n",sum[N]);
}
return ;
}

【D:欧拉函数】

#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll ans;
ll getphi(int x)
{
int res=x;
for(int i=;i*i<=x;i++){
if(x%i==){
res=res/i*(i-);
while(x%i==) x/=i;
}
}
if(x>) res=res/x*(x-);
return res;
}
int main()
{
int N; scanf("%d",&N);
for(int i=;i*i<=N;i++){
if(N%i==) {
ans+=getphi(N/i)*i;
if(i*i!=N) ans+=getphi(i)*(N/i);
}
}
printf("%lld\n",ans);
return ;
}

【E:容斥】

#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int maxn=;
int p[maxn+],cnt;
short int vis[maxn+],mu[maxn+];
void read(int &x){
x=; char c=getchar();
while(c>''||c<'') c=getchar();
while(c>=''&&c<='') x=(x<<)+(x<<)+c-'',c=getchar();
}
void Put(ll x)
{
if(x>) Put(x/);
putchar(x%+'');
}
void prime()
{
mu[]=; for(int i=;i<=maxn;i++){
if(!vis[i]) p[++cnt]=i,mu[i]=-;
for(int j=;j<=maxn&&i*p[j]<=maxn;j++){
vis[i*p[j]]=; mu[i*p[j]]=-mu[i];
if(i%p[j]==) { mu[i*p[j]]=; break; }
}
}
}
int a[],num[maxn+];ll ans;
vector<int>G[maxn+];
int main()
{
prime();
int N,Q,x,i,j,Max=;
scanf("%d%d",&N,&Q);
for(i=;i<=N;i++) read(a[i]),Max=max(Max,a[i]),vis[i]=;
for(i=;i<=Max;i++){
for(j=i;j<=Max;j+=i)
G[j].push_back(i);
}
while(Q--){
read(x);
int L=G[a[x]].size();
if(vis[x]==){
for(i=;i<L;i++) num[G[a[x]][i]]--;
for(i=;i<L;i++) ans-=mu[G[a[x]][i]]*num[G[a[x]][i]];
}
else {
for(i=;i<L;i++) ans+=mu[G[a[x]][i]]*num[G[a[x]][i]];
for(i=;i<L;i++) num[G[a[x]][i]]++;
}
vis[x]=vis[x]^;
Put(ans); puts("");
}
return ;
}

【CQ18高一暑假前挑战赛4】标程的更多相关文章

  1. 【CQ18高一暑假前挑战赛5】标程

    [A:暴力] #include<bits/stdc++.h> using namespace std; ; int a[maxn],vis[maxn],N,M; int main() { ...

  2. 【CQ18高一暑假前挑战赛3.5】标程

    [A:快速幂相关] #include<bits/stdc++.h> using namespace std; int qpow(int a,int x){ a%=;; while(x){ ...

  3. 【CQ18高一暑假前挑战赛3】标程

    [A:LCM] #include<bits/stdc++.h> using namespace std; #define ll long long int main() { ll a,b, ...

  4. 【CQ18高一暑假前挑战赛2】标程

    [昨晚打校赛,5个小时打完很累了,所以搞忘出题了...对不起学弟们,不过出的题都亲自写过一遍,可以保证题目和代码长度都不长,题目难度不大] [A:bush博弈] #include<bits/st ...

  5. 【CQ18高一暑假前挑战赛1】标程

    [A] #include<bits/stdc++.h> using namespace std; #define ll long long ll qpow(ll a,ll x,ll Mod ...

  6. [转]关于一些SPFA的标程

    SPFA算法 求单源最短路的SPFA算法的全称是:Shortest Path Faster Algorithm. 最短路径快速算法-SPFA算法是西南交通大学段凡丁于1994年发表的. 适用范围:给定 ...

  7. [求助][SPOJ MARIOGAM]-高斯消元(内含标程,数据等)

    小蒟蒻开始做概率的题之后,遇到了这道题,然而,他发现自己的程序调试了无数次也无法通过,系统总是返回令人伤心的WA, 于是,他决定把这一天半的时间收集到的资料放在网上, 寻求大家的帮助, 也可以节省后来 ...

  8. hdu6435 Problem J. CSGO标程讲解以及改正标程的一个错误(本来第一个样例过不了2333) 以及 poj2926 五维曼哈顿距离模板

    比赛的时候抄poj2926的模板,但改不来啊orz #include <iostream> #include <cstdio> #include <cstring> ...

  9. 暑假前的flag

    暑假到了,为了简便新开了一个博客,供暑假刷体放一些题解,玩acm1年多了,cf还是蓝名,真是菜的一笔,明年就大三了,马上就要毕业了,然而还是啥也不会,兼职和智障没什么两样,当初大一吹的牛逼说要成为学校 ...

随机推荐

  1. Android入门:MVC模式(中)

    MVC 模式的最基本概念是分层设计,把我们的代码基于 View(视图).Model(模型).Controller(控制器)进行分类封装,这样做的目的是为了清晰结构,使代码更易维护和扩展. 在上一篇文章 ...

  2. qt实现又一次登录

    1.需求 须要实现程序操作过程中的又一次启动,即常常说的又一次登录功能 2.解决 在main函数中检測exec的返回值决定是关闭还是重新启动.使用注冊函数atexit(relogin)来实现这个功能 ...

  3. JavaScript 推断浏览器类型及32位64位

    JS推断出版本号以及浏览器类型 <script type="text/javascript"> var Sys = {}; var ua = navigator.use ...

  4. 2016 第七届蓝桥杯 c/c++ B组省赛真题及解题报告

    2016 第七届蓝桥杯 c/c++ B组省赛真题及解题报告 勘误1:第6题第4个 if最后一个条件粗心写错了,答案应为1580. 条件应为abs(a[3]-a[7])!=1,宝宝心理苦啊.!感谢zzh ...

  5. SWTBOK測试实践系列(5) -- 项目中使用手动和自己主动化的策略

    手动測试和自己主动化測试永远是一个非常热门的话题.自己主动化也一直被人们捧上神坛.自己主动化測试和手动測试从技术上来说本质事实上都是測试用例设计.仅仅只是终于形式一个是人工运行,一个是代码运行罢了.这 ...

  6. 邻接表的使用及和vector的比較

    这几天碰到一些对建边要求挺高的题目.而vector不好建边,所以学习了邻接表.. 以下是我对邻接表的一些看法. 邻接表的储存方式 邻接表就是就是每一个节点的一个链表,而且是头插法建的链表,这里我们首先 ...

  7. UVA 610 - Street Directions(割边)

    UVA 610 - Street Directions option=com_onlinejudge&Itemid=8&page=show_problem&category=5 ...

  8. Java IO 类

    IO包中绝大部分的类都是由以下四个类直接或间接继承来的InputStream OutputStream Reader 还有Writer 其中InputStream和OutputStream代表输入流和 ...

  9. 如何学习Java?

    一点感悟 java作为一门编程语言,在各类编程语言中作为弄潮儿始终排在前三的位置,这充分肯定了java语言的魅力,在实际项目应用中,我们已经无法脱离javaa(Ps当然你可以选择不使用),但它的高性能 ...

  10. iOS9新特性之新添加的关键字

    iOS9 新出的关键字:用来修饰属性,或者方法的参数,返回值 好处:1.迎合swift 2.提高我们开发人员开发规范,减少程序员之间的交流 注意:iOS9新出的的关键字nonnull,nullable ...