模拟
wspl654321
。。。。。。
展开
-
小学奥数
记f(n,m)=(n^2-mn-m^2)^2则有f(m+n,m)=[(m+n)^2-n(m+n)-n^2]^2=(m^2+mn-n^2)^2=(n^2-mn-m^2)^2=f(n,m)易得f(1,1)=1故1=f(1,1)=f(2,1)=f(3,2)=…发现m,n是Fibonacci数列相邻的两项,那么问题就极易解答了#include<cstdio>#include<iostream>#incl原创 2017-08-09 21:08:20 · 231 阅读 · 0 评论 -
洛谷好消息坏消息
维护一个前缀最小值和一个后缀和和一个后缀的前缀最小值#include<cstdio>#include<iostream>//using namespace std;int n;int z[1999999],q[1999999],s[1999999],h[1999999],top,tot;int main(){ int n; scanf("%d",&n); for(i原创 2017-08-11 10:37:23 · 252 阅读 · 0 评论 -
模拟水体
5000*5000竟然能过 我也是醉了 就是用差值维护,优化成二维,勾股定理也要弄好#include<cstdio>#include<iostream>#include<cmath>using namespace std;int n,m,f[5001][5001],ans;int check(int x,int r){ return (int)sqrt((double)(r*原创 2017-08-04 16:52:50 · 365 阅读 · 0 评论 -
油滴扩散
这个题很恶心啊。。 精度处理太tm恶心了。。。。。。。。。。。 思路: 因为n<=6,这也太小了 直接求出全排列来,求出所有点之间的距离,这个点扩展的距离就等于到已确定的点的距离-它的半径的最小值,然后一点点模拟。。 距离小于之前的半径了,就把他的半径付为零,我因这wa曾了四个点#include<cstdio>#include<iostream>#include<cmath>#inc原创 2017-08-06 16:05:02 · 404 阅读 · 0 评论 -
noip2013
day1 t1 转圈游戏(circle) 裸地快速幂。。#include<cstdio>using namespace std;int n,m,x,k;int fastpow(int a,int k){ int ans=1; while(k){ if(k&1) ans=(1ll*ans*a)%n; a=(1ll*a*a)%n;原创 2017-10-18 14:46:09 · 416 阅读 · 0 评论 -
测试 3
chess 简单的搜索题,递归模拟,没啥优化剪枝。。。 不知怎么搞的’,’忘加了。。 然后走一步的特判在程序里错了,弄出去就对了。。。#include<cstdio>#include<iostream>using namespace std;struct st{ int maxn,cnt; };int a[11][11],b[11][11];int xx[]={1,1,-1原创 2017-10-25 15:07:16 · 246 阅读 · 0 评论 -
qbday1
这个题用前缀和模拟,1*1,2*2,3*3,4*4,5*5-2*1 ,3*2, 4*3 ,5*4 ,6*5 你会发现少了个1-4的和,多了个5*6 所以维护前缀和就行了 #include<cstdio>#include<iostream>using namespace std;int s[1100000],n,k,a[1199999];long long ans,tot;int ma原创 2017-10-23 11:13:39 · 290 阅读 · 0 评论