博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
洛谷P2831 愤怒的小鸟
阅读量:5222 次
发布时间:2019-06-14

本文共 2035 字,大约阅读时间需要 6 分钟。

洛谷P2831 愤怒的小鸟

题解

首先简单数学公式送上。

\(ax_1^2+bx_1=y_1\)
\(ax_2^2+bx_2=y_2\)
\(ax_1^2x_2+bx_1x_2=y_1x_2\)
\(ax_2^2x_1+bx_2x_1=y_2x_1\)
\(a=(y_1x_2-y_2x_1)/x_1x_2(x_1-x_2)\)
\(b=(y_1-ax_1^2)/x_1\)
不用证明吧。。。

85分

状态压缩。每次枚举两个点计算抛物线,然后消除这条线上所有点,再转移。

// It is made by XZZ#include
#include
#include
using namespace std;#define rep(a,b,c) for(rg int a=b;a<=c;a++)#define drep(a,b,c) for(rg int a=b;a>=c;a--)#define erep(a,b) for(rg int a=fir[b];a;a=nxt[a])#define il inline#define rg register#define vd voidtypedef long long ll;il int gi(){ rg int x=0,f=1;rg char ch=getchar(); while(ch<'0'||ch>'9')f=ch=='-'?-1:f,ch=getchar(); while(ch>='0'&&ch<='9')x=x*10+ch-'0',ch=getchar(); return x*f;}#define db doubledb x[18],y[18],eps=0.00000001;int f[1<<18],n;il int dp(int v){ if(v==0)return 0; if(v==(v&-v))return 1; if(f[v])return f[v]; f[v]=233; rep(i,0,n-1)if(v&(1<
<
=0)continue; int V=v; rep(k,0,n-1)if((V&(1<
<=eps)V^=1<

AC算法

上面理论复杂度\(O(2^nn^2T)\)。会炸。

思考原因。
显然算重情况较多。
再想想。。。每个状态的第一头猪最后肯定要被打死(废话)。强制它第一个死,只需枚举一个点
理论复杂度\(O(2^nnT)\)

// It is made by XZZ#include
#include
#include
using namespace std;#define rep(a,b,c) for(rg int a=b;a<=c;a++)#define drep(a,b,c) for(rg int a=b;a>=c;a--)#define erep(a,b) for(rg int a=fir[b];a;a=nxt[a])#define il inline#define rg register#define vd voidtypedef long long ll;il int gi(){ rg int x=0,f=1;rg char ch=getchar(); while(ch<'0'||ch>'9')f=ch=='-'?-1:f,ch=getchar(); while(ch>='0'&&ch<='9')x=x*10+ch-'0',ch=getchar(); return x*f;}#define db doubledb x[18],y[18],eps=0.0000001;int f[1<<18],n;il int dp(int v){ if(v==0)return 0; if(v==(v&-v))return 1; if(f[v])return f[v]; f[v]=233; int j=log2(v&-v); rep(i,j+1,n-1)if(v&(1<
=0)continue; int V=v; rep(k,j,n-1)if((V&(1<
<=eps)V^=1<

转载于:https://www.cnblogs.com/xzz_233/p/7401327.html

你可能感兴趣的文章
linux查看端口占用
查看>>
hdu - 1226 超级密码 (bfs)
查看>>
Sql常见面试题 受用了
查看>>
知识不是来炫耀的,而是来分享的-----现在的人们却…似乎开始变味了…
查看>>
CSS背景颜色、背景图片、平铺、定位、固定
查看>>
口胡:[HNOI2011]数学作业
查看>>
我的第一个python web开发框架(29)——定制ORM(五)
查看>>
中国剩余定理
查看>>
基础笔记一
查看>>
uva 10137 The trip
查看>>
Count Numbers
查看>>
编写高质量代码改善C#程序的157个建议——建议110:用类来代替enum
查看>>
网卡bond技术
查看>>
UITabbarController的UITabbarItem(例:"我的")点击时,判断是否登录
查看>>
UNIX基础知识之输入和输出
查看>>
【洛谷 P1666】 前缀单词 (Trie)
查看>>
对称加密和非对称加密
查看>>
数据库锁机制及乐观锁,悲观锁的并发控制
查看>>
图像处理中双线性插值
查看>>
RobHess的SIFT代码解析之RANSAC
查看>>