North American Invitational Programming Contest (NAIPC) 2016
(待补)
A. Fancy Antiques
爆搜。
B. Alternative Bracket Notation
C. Greetings!
D. Programming Team
0/1分数规划 + 树上依赖型背包。
E. K-Inversions
将 A 和 B 的相对位置看做多项式,用FFT,最后统计系数。
#include <bits/stdc++.h>
using namespace std;
const double pi = acos(-1.0); struct comp{
double r,i;
comp(double _r=0, double _i=0):r(_r),i(_i) {}
comp operator + (const comp& x) { return comp(r+x.r, i+x.i); }
comp operator - (const comp& x) { return comp(r-x.r, i-x.i); }
comp operator * (const comp& x) { return comp(r*x.r-i*x.i, r*x.i+i*x.r); }
}; void FFT(comp a[], int n, int t)
{
for(int i=1, j=0; i < n-1; i++)
{
for(int s=n; j^=s>>=1, ~j&s;);
if(i<j)
swap(a[i],a[j]);
}
for(int d=0; (1<<d)<n; d++)
{
int m=1<<d, m2=m<<1;
double o=pi/m*t;
comp _w(cos(o),sin(o));
for(int i=0; i<n; i+=m2)
{
comp w(1,0);
for(int j=0; j<m; j++)
{
comp& A=a[i+j+m], &B=a[i+j], t=w*A;
A=B-t;
B=B+t;
w=w*_w;
}
}
}
if(t == -1)
for(int i=0; i<n; i++)
a[i].r=floor(a[i].r/n+0.5);
} const int maxn = 3e6 + 100;
comp A[maxn], B[maxn];
char str[maxn];
int len; int main()
{
scanf("%s", str);
len = strlen(str);
for(int i = 0; i < len; ++i)
{
if(str[i] == 'B')
A[i].r=0, B[len-i].r=1;
else
A[i].r=1, B[len-i].r=0;
}
int tmp = 1;
while(tmp < 2*len)
tmp*=2;
swap(len, tmp);
FFT(A, len, 1);
FFT(B, len, 1);
for(int i = 0; i < len; ++i)
A[i] = A[i]*B[i];
FFT(A, len, -1);
for(int i = tmp+1; i < 2*tmp; ++i)
{
printf("%.0f\n", A[i].r);
} return 0;
}
F. Mountain Scenes
dp[i][j]表示前 i 块区域总共用的长度为 j 。
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
typedef long long LL;
const int maxn = 100 + 100;
const int MOD = 1e9 + 7;
int dp[maxn][10010]; int main()
{
int n, w, h;
scanf("%d%d%d", &n, &w, &h);
dp[0][0] = 1; for (int i = 1; i <= w; i++)
for (int j = 0; j <= n; j++)
for (int k = 0; k <= h; k++)
{
if (j+k > n) break;
dp[i][j+k] += dp[i-1][j];
if (dp[i][j+k] >= MOD) dp[i][j+k] -= MOD;
} LL ans = 0;
for (int i = 1; i <= n; i++) ans += dp[w][i];
for (int i = 1; i <= h; i++)
if (i * w <= n) ans--;
printf("%lld\n", (ans+MOD) % MOD);
}
G. Symmetry
H. Jewel Thief
I. Tourists
LCA爆。复杂度O(nlog2n)。
J. Whiteboard
K. YATP
North American Invitational Programming Contest (NAIPC) 2016的更多相关文章
- North American Invitational Programming Contest (NAIPC) 2017
(待补) A. Pieces of Parentheses 将括号处理完成后排序,方式参加下面的博客.然后做一遍背包即可. 2018 Multi-University Training Contest ...
- The North American Invitational Programming Contest 2017 题目
NAIPC 2017 Yin and Yang Stones 75.39% 1000ms 262144K A mysterious circular arrangement of black st ...
- The North American Invitational Programming Contest 2018 D. Missing Gnomes
A family of nn gnomes likes to line up for a group picture. Each gnome can be uniquely identified by ...
- The North American Invitational Programming Contest 2018 H. Recovery
Consider an n \times mn×m matrix of ones and zeros. For example, this 4 \times 44×4: \displaystyle \ ...
- The North American Invitational Programming Contest 2018 E. Prefix Free Code
Consider nn initial strings of lower case letters, where no initial string is a prefix of any other ...
- North American Invitational Programming Contest 2018
A. Cut it Out! 枚举第一刀,那么之后每切一刀都会将原问题划分成两个子问题. 考虑DP,设$f[l][r]$表示$l$点顺时针一直到$r$点还未切割的最小代价,预处理出每条边的代价转移即可 ...
- 2014 ACM-ICPC Beijing Invitational Programming Contest
点击打开链接 Happy Reversal Time Limit: 1000ms Memory Limit: 65536KB 64-bit integer IO format: %lld J ...
- 训练20191007 2017-2018 ACM-ICPC Latin American Regional Programming Contest
2017-2018 ACM-ICPC Latin American Regional Programming Contest 试题地址:http://codeforces.com/gym/101889 ...
- 2017-2018 ACM-ICPC Latin American Regional Programming Contest PART (11/13)
$$2017-2018\ ACM-ICPC\ Latin\ American\ Regional\ Programming\ Contest$$ \(A.Arranging\ tiles\) \(B. ...
随机推荐
- zk小结
一 ZooKeeper功能 1.文件系统 2.通知机制 二 Zookeeper文件系统 每个子目录项都被称作为znode,和文件系统一样,我们能够自由的增加.删除znode,在一个znode下增加.删 ...
- spring技术小结
1.DI和IOC 依赖注入(Dependency Injection)还是控制反转(Inversion of Conctrol) bean通过依赖注入,注册到spring容器里面.spring容器通过 ...
- xmanger图形化登陆远程服务器
由于网上的资料比较杂,经过本人整理实际操作验证,保证ok 本人的服务器系统为centos5.8 下面的都是centos服务器上的操作,需要简单的配置下: win客户端使用xmanger软件:首先是服 ...
- 介绍一个很好用的Rsa加解密的.Net库 Kalix.ApiCrypto
Rsa非对称加密技术 这个就不说了,大家上网搜索都知道,公钥加密,私钥解密.当然大家也可以自己实现.这里就懒了,就去找一个现成的库,Nuget上搜索,GitHub上搜索,发现.Net的加解密库,下载量 ...
- ajax post方式表单提交的注意事项。
当我们创建一个异步对象XMLHttpRequest同时post方式向后台传输数据的时候. 我们要设置异步对象的xhr.setRequestHeader成员的值为 XMLHttpRequest.setR ...
- Java面向对象的练习。动物乐园
本次项目是:以面向对象的思想设计动物乐园系统. 动物乐园中有猫,狗,鸭子等成员,还可以增加新成员. 猫和鸭子都有自己的名字,都有自己的腿,但腿的条数不同,猫和鸭子会发出叫声,猫的叫声是:喵喵喵……,鸭 ...
- Java调用webservice接口方法(SOAP message、xfire、axis)
webservice的 发布一般都是使用WSDL(web service descriptive language)文件的样式来发布的,在WSDL文件里面,包含这个webservice暴露在外面可供使 ...
- *.rpm is not signed解决
1.# yum install qemu*报错如下:Package qemu-kvm-tools-0.12.1.2-2.113.el6.x86_64.rpm is not signed2.解决# vi ...
- 利用Cookie保存用户身份信息实现免登录
<%@page import="sun.misc.BASE64Encoder"%> <%@page import="java.util.Base64.E ...
- It's the loneliest feeling not to know who you are.
It's the loneliest feeling not to know who you are.最孤独的感觉莫过于不知道自己是谁.