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. 【bzoj1821】[JSOI2010]Group 部落划分 Group Kruskal

    题目描述 聪聪研究发现,荒岛野人总是过着群居的生活,但是,并不是整个荒岛上的所有野人都属于同一个部落,野人们总是拉帮结派形成属于自己的部落,不同的部落之间则经常发生争斗.只是,这一切都成为谜团了——聪 ...

  2. Python数据定义

    数据类型: 什么是数据? 在计算机科学中,数据是指所有能输入到计算机并被计算机程序处理的符号的介质的总称,是用于输入电子计算机进行处理,具有一定意义的数字字母.符号和模拟量等的统称.现在计算机存储和处 ...

  3. eval以及时间操作

    1.  在Python里面 val=eval(“1+1”) 只能执行简单的表达式,不能执行有逻辑性的代码.并且能拿到返回值.可以执行字符串的计算: exec() 执行代码: 在JS里面:eval可以实 ...

  4. [luogu2783] 有机化学之神偶尔会做作弊

    题目链接 洛谷. Solution 边双缩点然后\(lca\)跑\(dis\)就好了. 注意这里是边双,不知道为啥所有题解都说的是点双. 边双是定义在点上的,即每个点只属于一个边双:点双是定义在边上的 ...

  5. POJ2352:Stars——题解

    http://poj.org/problem?id=2352 Astronomers晚上仰望星空,看到了很多星星.回到办公桌,Astronomers将这些星星画到二维坐标系,每个星星的坐标都是整数.例 ...

  6. BZOJ5301:[CQOI2018]异或序列——题解

    https://www.lydsy.com/JudgeOnline/problem.php?id=5301 https://www.luogu.org/problemnew/show/P4462 已知 ...

  7. [zhuan]Android 异常处理:java.lang.IllegalArgumentException(...contains a path separator)

    http://blog.csdn.net/alex_zhuang/article/details/7340901 对以下错误: Java.lang.RuntimeException: java.lan ...

  8. Wireshark中TCP segment of a reassembled PDU的含义

    By francis_hao    Sep 16,2017   在用Wireshark抓包的时候,经常会看到TCP segment of a reassembled PDU,字面意思是要重组的协议数据 ...

  9. Educational Codeforces Round 6 C

    C. Pearls in a Row time limit per test 2 seconds memory limit per test 256 megabytes input standard ...

  10. bzoj 3714 [PA2014]Kuglarz 最小生成树

    [PA2014]Kuglarz Time Limit: 20 Sec  Memory Limit: 128 MBSubmit: 1335  Solved: 672[Submit][Status][Di ...