zcy真是垃圾,啥都不会的那种。

菜的不行。

这场手速上了三题,然后各种E被卡……

日个吗居然E不开栈,傻逼吧

有毒吧

来看题:

A.sqc给的我的神奇公式,gtmd居然能A?

#include<bits/stdc++.h>
using namespace std;
int n;double ans=;
int main(){
scanf("%d",&n);
for(int i=;i<n-;i++){
int j=(n-i)/,k=(n-i)-(n-i)/;
ans=max(ans,sin(i)+sin(j)+sin(k));
}
printf("%.9lf\n",ans);
}

B.小学生容斥,2^m次系列。

#include <stdio.h>
#include <iostream>
#include <algorithm>
#include <memory.h>
using namespace std;
typedef long long ll;
#define N 2
const int maxn=;
const int L=<<;
int a[maxn],T,n,m;ll f[L];int bin[L];
ll gcd(ll n,ll m){
return m?gcd(m,n%m):n;
}
inline ll lcm(ll n,ll m){return n/gcd(n,m)*m;}
void dfs(int stp,int s,ll w){
if (w>n) return ;
if (stp>m) {f[s]+=n/w;return ;}
dfs(stp+,s<<,w);
dfs(stp+,s<<|,lcm(w,a[stp]));
}
int main(){ for (int i=;i<L;i++) bin[i]=bin[i>>]+(i&);
for (scanf("%d",&T);T--;) {
memset(f,,sizeof f);
scanf("%d %d",&n,&m);
for (int i=;i<=m;i++) scanf("%d",&a[i]);
dfs(,,);ll ans=;
for (int j=;j<m;j++)
for (int i=;i<(<<m);i++)
if (((i>>j)&)==) f[i]-=f[i+(<<j)];
for (int i=;i<(<<m);i++)
if (bin[i]&) ans+=f[i];
printf("%lld\n",ans);
}
return ;
}

剩下就一堆不会……

Ctm烦得跟什么一样,Etm卡空间卡常数,还狗日的不开栈。

D裸FFT算下。

#include<bits/stdc++.h>
#define N 1000005
typedef long long ll;
using namespace std;
const double pi=acos(-);
struct E{
double x,y;
E (double x=,double y=):x(x),y(y){}
}a[N];
E operator+(const E &a,const E &b){return E(a.x+b.x,a.y+b.y);}
E operator-(const E &a,const E &b){return E(a.x-b.x,a.y-b.y);}
E operator*(const E &a,const E &b){return E(a.x*b.x-a.y*b.y,a.x*b.y+a.y*b.x);}
int n,m,l,q,L,nmax;
int r[N],c[N];ll ans[N];
void FFT(E *x,int k){
for (int i=;i<n;i++) if (i<r[i]) swap(x[i],x[r[i]]);
for (int i=;i<n;i<<=){
E wn(cos(pi/i),sin(pi*k/i));
for (int j=;j<n;j+=(i<<)){
E w(,),l,r;
for (int p=j;p<j+i;p++,w=w*wn){
l=x[p],r=x[p+i];
x[p]=l+w*r;
x[p+i]=l-w*r;
}
}
}
if (k==-) for (int i=;i<=n;i++) x[i].x/=n;
}
inline int read(){
int f=,x=;char ch;
do{ch=getchar();if(ch=='-')f=-;}while(ch<''||ch>'');
do{x=x*+ch-'';ch=getchar();}while(ch>=''&&ch<='');
return f*x;
}
int main(){
int T=read();
while(T--){
n=read();q=read();m=n;nmax=;L=;
memset(ans,,sizeof(ans));memset(a,,sizeof(a));
for(int i=;i<=m;i++)c[i]=read(),nmax=max(n,c[i]),a[c[i]].x++;
nmax*=;for (n=;n<=nmax;n<<=,L++);
for(int i=;i<n;i++)r[i]=(r[i>>]>>)|((i&)<<(L-));
FFT(a,);
for(int i=;i<=n;i++)a[i]=a[i]*a[i];
FFT(a,-);
for(int i=;i<=n;i++)ans[i]=(ll)(a[i].x+0.5);
for(int i=;i<=m;i++)ans[c[i]*]--;
for(int i=;i<=n;i++)ans[i]>>=;
for(int i=n;i>=;i--)ans[i]+=ans[i+];
for(int i=;i<=q;i++){
int k=read();printf("%lld\n",ans[k]);
}
}
}

好气啊,要是知道开栈我就能rank1了

巨气。

【玲珑杯Round17】xjb总结的更多相关文章

  1. 程设大作业xjb写——魔方复原

    鸽了那么久总算期中过[爆]去[炸]了...该是时候写写大作业了 [总不能丢给他们不会写的来做吧 一.三阶魔方的几个基本定义 ↑就像这样,可以定义面的称呼:上U下D左L右R前F后B UD之间的叫E,LR ...

  2. hdu_5881_Tea(xjb猜)

    题目链接:hdu_5881_Tea 题意: 有一壶水, 体积在 L 和 R 之间, 有两个杯子, 你要把水倒到两个杯子里面, 使得杯子水体积几乎相同(体积的差值小于等于1), 并且使得壶里剩下水体积不 ...

  3. hdu_5873_Football Games(xjb搞)

    题目链接:hdu_5873_Football Games 题意: 有n个队,每个队都会给其他队打一场,赢一场得2分,平局得一分,输了不得分,然后给你全部比赛结束后的得分,问你是否有假分 题解: 可以知 ...

  4. hdu_5761_Rower Bo(xjb猜公式)

    题目链接:hdu_5761_Rower Bo 题意: 让你求一个物理问题 题解: xjb猜公式,由题目样例可得,答案为8/7,然后我们可以xjb猜出公式为v1*a/(v1*v1-v2*v2),然后特判 ...

  5. “玲珑杯”ACM比赛 Round #12题解&源码

    我能说我比较傻么!就只能做一道签到题,没办法,我就先写下A题的题解&源码吧,日后补上剩余题的题解&源码吧!                                     A ...

  6. “玲珑杯”ACM比赛 Round #19题解&源码【A,规律,B,二分,C,牛顿迭代法,D,平衡树,E,概率dp】

    A -- simple math problem Time Limit:2s Memory Limit:128MByte Submissions:1599Solved:270 SAMPLE INPUT ...

  7. “玲珑杯”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 ...

  8. “玲珑杯”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 ...

  9. 玲珑杯”ACM比赛 Round #15

    手速狗从西安回来一只浑浑噩噩,好不容易迎来一场送饭比赛体验一把河南的优势,结果被高中生狂虐,无缘奖金..我的奖品梦就这样一次次被打破.... A -- Reverse the lights 最后半小时 ...

随机推荐

  1. [洛谷P2106]Sam数

    题目大意:问长度为$n$的$Sam$数有几个,$Sam$数的定义为没有前导零,相邻两个数字之差绝对值小于等于$2$的数 题解:发现转移方程一定,可以矩阵快速幂. 卡点:没有特判$n=1$的情况 C++ ...

  2. 【以前的空间】BZOJ2733[HNOI2012]永无乡

    启发式合并?! 似乎当时写并查集的时候就有看到过类似于把小并查集并到大并查集上的说法,原来这就是启发式…… 具体做法就是把小树里面的一个个拿出来,然后加到大树里面去(裸的不敢相信) const max ...

  3. POJ3630:Phone List——题解

    http://poj.org/problem?id=3630 简单的trie树问题,先添加,然后每个跑一边看中途有没有被打上结束标记即可. #include<cstdio> #includ ...

  4. [Leetcode] powx n x的n次方

    Implement pow(x, n). 题意:计算x的次方 思路:这题的思路和sqrt的类似,向二分靠近.例如求4^5,我们可以这样求:res=4.4*4^4.就是将每次在res的基础上乘以x本身, ...

  5. HDOJ.2094 产生冠军(map)

    产生冠军 点我挑战题目 点我一起学习STL-MAP 题意分析 给出n组数据,代表a打败了b,让判断根据这n组数据是否能判断出来产生了冠军.一开始以为这道题很难,其实用map可以应付. 大原则,赢了的人 ...

  6. bzoj2165: 大楼(倍增floyd)

    题目大意:一个有向图,n(<=100)个点求一条长度>=m(<=10^18)的路径最少经过几条边. 一开始以为是矩乘,蓝鹅当时还没开始写,所以好像给CYC安利错了嘿嘿嘿QWQ 第一眼 ...

  7. POJ1742 Coins(男人八题之一)

    前言 大名鼎鼎的男人八题,终于见识了... 题面 http://poj.org/problem?id=1742 分析 § 1 多重背包 这很显然是一个完全背包问题,考虑转移方程: DP[i][j]表示 ...

  8. redis中如何对 key 进行分类

    因为redis中的 hash是不支持设置过期时间的,如果我们要 设置过期时间,还要分类存储,可以用下面折中的方法 其实就是我们把 key 定义的有规律一些,通过在key的字符串内部 分类,上图只是因为 ...

  9. <audio>标签HTML5音乐播放器

    <audio>标签:用于在文档中表示音频内容.利用它,你可以在你的个人网站上放一首你喜欢的歌.    <audio src="music.mp3">< ...

  10. liunx系统下安装mysql数据库5.7.13版本

    一:在/usr/local目录下解压安装包