上文有提到noip2014还有没A的嘛。。就先把这个坑给填了

flappy bird好sad啊 还是先做解方程

八中的数据好强了,然而我最后凑了四个质数就A了,感谢shy!

作为联赛最后一题,学习它的思考方式比较关键.

前30分,人人都能得吧,不多说.

我一开始做,居然没有看到高精度,搞什么啊...看到1010000居然没有自动次方,晕.

看到了超长的a[i]后,可能很多人都会跟我一样,啊啊啊高精度,啊啊啊不想写,然后就能自然地诞生出取模的想法啦!

而且,五次方以上的方程没有求根公式,要么枚举要么hash!

当f(x)==0,f(x)%p==0.再进一步考虑,f(x+p)%p==f(x)%p,Po姐的blog没有写为啥,相信这个连我都能懂,所有人都可以自己脑补了.

对于每个ans,将它mod p,预处理出对于每一个质数,x取0~p-1时f(x)是否为0.

接下来是考虑冲突的问题,每一篇题解上都说冲突概率很小...个人觉得..如果出题人要卡你的话,3w以内的质数是全都可以被卡掉的吧..

不过思考也不成熟,哈希嘛尽管用就行了.

#include<cstdio>
#include<cstdio>
#define ll long long
using namespace std;
,,,,};
ll n,m,tot=;ll f[][];ll b[];
ll a[][];
inline void input(int x)
{
  ];);
  ;s[i];i++)
  {
    if(s[i]=='-')flag=true;
    ;j<=;j++)a[x][j]=(a[x][j]*+s[i]-')%pri[j];

  }
  ;j<;j++)a[x][j]=pri[j]-a[x][j];
}
inline ll F(int x,int j)
{
  ll re=;
  ;i--)
   re=(re*x+a[i][j])%pri[j];return re;
}
int main()
{
  //freopen("my.out","w",stdout);
  scanf("%lld%lld",&n,&m);
  ;i<=n;i++)input(i);
  ;j<=;j++);i<pri[j];i++)
   f[i][j]=F(i,j);
  ;ans<=m;ans++)
  {
    ;
    ;i<=;i++)
    {
      int p=pri[i],x=ans%p;
      )s++;
    }
    )++tot,b[tot]=ans;
  }
  printf("%lld\n",tot);
  ;i<=tot;i++)printf("%lld\n",b[i]);
}

【飞扬的小鸟】

终于开坑了。。。其实好久之前就开坑了。。。。

之前有一个很搞笑的trick,在罗oj上交了一发,等待&pending.....等了好几个月...

时隔半年之后再做,做到了大概七十分的样子...然后还是有wa的..不管它65分了

又过了有三个月吧 就是今天

因为学校迎检各种没课没作业 有充足的时间来搞这道题  就写了完全背包...

#include<cstdio>
#include<cstring>
#include<cmath>
#include<iostream>
#include<algorithm>
#define inf 2000000000
#define M 10010
using namespace std;
int n,m,k,p,sum,cnt;
int lo[M],ans[M],hi[M],up[M],down[M],d[M];
int f[M][1010];
int main()
{
//freopen("219.in","r",stdin);
//freopen("219.out","w",stdout);
scanf("%d%d%d",&n,&m,&k);
for(int i=0;i<=n-1;i++)scanf("%d%d",&up[i],&down[i]);
for(int i=0;i<=n;i++)lo[i]=0,hi[i]=m+1;
for(int i=1;i<=k;i++)
{
scanf("%d",&p);
d[p]=1;scanf("%d%d",&lo[p],&hi[p]);
}
for(int i=0;i<=n;i++)
for(int j=0;j<=m;j++)f[i][j]=inf;

for(int j=1;j<=m;j++)f[0][j]=0;

for(int j=0;j<=n;j++)ans[j]=inf;
for(int i=1;i<=n;i++)
{

for(int j=1;j<=m;j++)
{
if(j>=up[i-1]){
f[i][j]=min(f[i][j],f[i-1][j-up[i-1]]+1);
f[i][j]=min(f[i][j],f[i][j-up[i-1]]+1);
} //完全背包很好理解吧..希望自己比赛的时候能想到
if(j==m){
for(int k=j-up[i-1];k<=m;k++){
f[i][j]=min(f[i][j],f[i-1][k]+1);
f[i][j]=min(f[i][j],f[i][k]+1);//个人觉得这句话可以del,然而wa了,然后顿悟!这也是我为什么一开始70分中有wa的原因,前一个可以一直跳一直跳跳到m!!!
}
}
}
for(int j=lo[i]+1;j<=hi[i]-1;++j)
if(j+down[i-1]<=m)f[i][j]=min(f[i][j],f[i-1][j+down[i-1]]);

for(int j=1;j<=lo[i];++j)f[i][j]=inf;
for(int j=hi[i];j<=m;j++)f[i][j]=inf;
for(int j=1;j<=m;j++)ans[i]=min(ans[i],f[i][j]);
}
int sum=0;
for(int i=0;i<=n;i++)if(d[i]==1&&ans[i]<inf)sum++;
if(ans[n]==inf)printf("0\n"),printf("%d",sum);
else printf("1\n"),printf("%d",ans[n]);
}

【noip2014T3】的更多相关文章

  1. Python高手之路【六】python基础之字符串格式化

    Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存.[PEP-3101] This ...

  2. 【原】谈谈对Objective-C中代理模式的误解

    [原]谈谈对Objective-C中代理模式的误解 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 这篇文章主要是对代理模式和委托模式进行了对比,个人认为Objective ...

  3. 【原】FMDB源码阅读(三)

    [原]FMDB源码阅读(三) 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 FMDB比较优秀的地方就在于对多线程的处理.所以这一篇主要是研究FMDB的多线程处理的实现.而 ...

  4. 【原】Android热更新开源项目Tinker源码解析系列之一:Dex热更新

    [原]Android热更新开源项目Tinker源码解析系列之一:Dex热更新 Tinker是微信的第一个开源项目,主要用于安卓应用bug的热修复和功能的迭代. Tinker github地址:http ...

  5. 【调侃】IOC前世今生

    前些天,参与了公司内部小组的一次技术交流,主要是针对<IOC与AOP>,本着学而时习之的态度及积极分享的精神,我就结合一个小故事来初浅地剖析一下我眼中的“IOC前世今生”,以方便初学者能更 ...

  6. Python高手之路【三】python基础之函数

    基本数据类型补充: set 是一个无序且不重复的元素集合 class set(object): """ set() -> new empty set object ...

  7. Python高手之路【一】初识python

    Python简介 1:Python的创始人 Python (英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/), 是一种解释型.面向对象.动态数据类型的高级程序设计语言,由荷兰人Guido ...

  8. 【开源】简单4步搞定QQ登录,无需什么代码功底【无语言界限】

    说17号发超简单的教程就17号,qq核审通过后就封装了这个,现在放出来~~ 这个是我封装的一个开源项目:https://github.com/dunitian/LoTQQLogin ————————— ...

  9. 【原】FMDB源码阅读(二)

    [原]FMDB源码阅读(二) 本文转载请注明出处 -- polobymulberry-博客园 1. 前言 上一篇只是简单地过了一下FMDB一个简单例子的基本流程,并没有涉及到FMDB的所有方方面面,比 ...

随机推荐

  1. IOS - ARC改为非ARC

    1.project -> Build settings -> Apple LLVM complier 3.0 - Language -> objective-C Automatic ...

  2. NYOJ题目889求距离

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAsYAAAJ2CAIAAADTwNOXAAAgAElEQVR4nO3dPVLrSteG4W8S5B4IsQ

  3. 阿里云的RDS 查看binlog日志的方法

    按时间点反后台备份的binlog日志从阿里云导出来,然后用mysqlbinlog查看日志内容: # mysqlbinlog -vv --base64-output=decode-rows mysql- ...

  4. 理解Java中的引用传递和值传递

    关于Java传参时是引用传递还是值传递,一直是一个讨论比较多的话题,有论坛说Java中只有值传递,也有些地方说引用传递和值传递都存在,比较容易让人迷惑.关于值传递和引用传递其实需要分情况看待,今天学习 ...

  5. python中最简单的多进程程序

    学着.. #!/usr/bin/env python # -*- coding: utf-8 -*- # Spawn a Process: Chapter 3: Process Based Paral ...

  6. 运维自动化之ansible的安装与使用(包括模块与playbook使用)(转发)

    原文  http://dl528888.blog.51cto.com/2382721/1435415 我使用过puppet(地址是http://dl528888.blog.51cto.com/2382 ...

  7. 1.ok6410移植bootloader,移植u-boot,学习u-boot命令

    ok6410移植u-boot 既然是移植u-boot当然首先需要u-boot源码,这里的u-boot代码是由国嵌提供的. 一.配置编译u-boot A. 解压 u-boot 压缩文件 B. 进入解压生 ...

  8. 信号量进程同步,王明学learn

    信号量进程同步 一组并发进程进行互相合作.互相等待,使得各进程按一定的顺序执行的过程称为进程间的同步. 信号量在进程同步时初始值为:0 信号量在进程互斥时初始值为:大于0的 本章节主要使用信号量,使的 ...

  9. 第六篇:在SOUI中用九宫格拉伸方式显示一个图片资源

    SOUI的初学者刚开始可能难以搞清楚在SOUI中显示一个图片资源的流程,这里做一个简单的示范. 首先我们准备好一张图,以下图为例. 第一步,我们首先把这个图片文件复制到demo的uires目录下,新建 ...

  10. Effective C++ 之 0 导读(Introduction)

    Effective C++ 导读 (Introduction) 术语(terminology) 声明式 (declaration) 是告诉编译器某个东西的名称和类型(type),但略去细节.以下都是声 ...