好慌啊 0分??

T1

感觉是组合数,不知道对不对。

#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
#include<queue>
#include<cmath>
#include<ctime>
using namespace std;
const int P=1e9+;
long long n,k,ans=;
int main()
{
freopen("cube.in","r",stdin);
freopen("cube.out","w",stdout);
scanf("%lld%lld",&n,&k);
int x;
for(int i=;i<=n;i++) scanf("%d",&x);
for(int i=k+;i<=n;i++)
ans=(ans*i)%P;
for(int i=;i<=(n-k);i++)
ans=(ans*i)%P;
cout<<ans<<'\n';
return ;
}

first

完了组合数用错了,应该用逆元的。

思路:
  其实就是说,在n个位置中,找出K个与原来不同的(1或0两种)。

  组合数公式n! / k!(n-k)!  因为数比较大,如果先取模再除 是不对的。

  用乘法逆元,/x %p等价于 *x^P-2 .

  也可以分解质因数,不知道哪根筋抽了,这都没想到。

T2

#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
#include<queue>
#include<cmath>
using namespace std;
const int N=1e5+;
int n,m,q;
struct node{
int x,y;
int z;
}a[N],ask[N];
int f[N],tot;
int find(int x)
{
while(x!=f[x])
x=f[x]=f[f[x]];
return x;
}
bool cmp(node u,node v)
{ return u.z>v.z;}
bool fan(node u,node v)
{ return u.y<v.y;}
int main()
{
freopen("warehouse.in","r",stdin);
freopen("warehouse.out","w",stdout);
scanf("%d%d%d",&n,&m,&q);
for(int i=;i<=m;i++)
scanf("%d%d%d",&a[i].x,&a[i].y,&a[i].z);
for(int i=;i<=q;i++)
scanf("%d",&ask[i].z),ask[i].y=i;
sort(a+,a++n,cmp);sort(ask+,ask++q,cmp);
for(int i=;i<=n;i++) f[i]=i; tot=n;int ed=,i=,f1,f2;
for(i=;i<=q;i++)
{
while(a[ed+].z>=ask[i].z)
{
ed++;
f1=find(a[ed].x);f2=find(a[ed].y);
if(f1!=f2)
{
f[f1]=f2;tot--;
}
}
ask[i].x=tot;
}
sort(ask+,ask+q+,fan);
for(int i=;i<=q;i++)
printf("%d\n",ask[i].x);
return ;
}

first

应该写对了啊,0分。。。

和昨天的题差不多,建一个最大生成树,在合并的过程中更新答案。

T3

不会去重,甚至计数都不会。

这道题的确不简单,因为一个字符串可能会得到多次,

那我们就就想办法让这个字符串只得到一次,怎么操作那?

维护两个数组a[i][j](表示长度为i的前缀,后面再加j字符就会重复的字符串数量)

      c[i][j](表示以j为开头,长度为i的字符串数量)

    (因为我们只需要考虑,字符串长度,和是否重复)

最后把长度和为L的前缀和后缀字符根据乘法原理组合起来就是答案了。

但是!这样做有漏洞!!

原因是对于本来就是一个单词一部分的字符如coo,它能由co  前缀和 o后缀 组成,但我们却没有判定出co这个前缀。

 a c拼起来的基础是那个合法串从一个位置 开始 前缀变成不合法的了
但是coo这个串,整个串都是合法的。

D5上的更多相关文章

  1. es6学习笔记一数组(上)

    最近公司没什么事情,我们老大让我看看es6,小颖就练习了下数组的各个方法,今天先给大家分享一部分.嘻嘻,希望对大家有所帮助. every方法: 概述:    every() 方法测试数组的所有元素是否 ...

  2. 一个高级的J2E工程师需要面对MySQL要有那些基本功夫呢<上>

    1. MySQL的架构介绍1.1 MySQL简介: MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司. MySQL是一种关联数据库管理系统,将数据保存在不 ...

  3. Excel2013 基本用法(上)

    自动填充 对于数字填充 Excel对于处理数据非常方便,比如我们需要输入一个班级的学号,就可以只输入2个学号然后快捷填充就可以完成一个班的学号输入(如下图). 快捷填充,就是将鼠标移动到选中的单元格边 ...

  4. Arduino下LCD1602综合探究(上)——1602的两种驱动方式,如何使LCD的控制编程变得更简单

    一.前言: LCD ( Liquid Crystal Display 的简称)液晶显示器,已经逐渐替代CRT成为主流的显示设备之一,因此也成为了单片机发烧友绕不过的话题之一:而LCD1602更是很多单 ...

  5. Selenium2学习-039-WebUI自动化实战实例-文件上传下载

    通常在 WebUI 自动化测试过程中必然会涉及到文件上传的自动化测试需求,而开发在进行相应的技术实现是不同的,粗略可划分为两类:input标签类(类型为file)和非input标签类(例如:div.a ...

  6. Replication的犄角旮旯(六)-- 一个DDL引发的血案(上)(如何近似估算DDL操作进度)

    <Replication的犄角旮旯>系列导读 Replication的犄角旮旯(一)--变更订阅端表名的应用场景 Replication的犄角旮旯(二)--寻找订阅端丢失的记录 Repli ...

  7. PHP上传实现进度条

    Web上传文件的三种解决方案

  8. 基于FPGA的电压表与串口通信(上)

    实验原理 该实验主要为利用TLC549采集模拟信号,然后将模拟信号的数字量通过串口发送到PC上上位机进行显示,使用到的TLC549驱动模块在进阶实验已经使用到了,串口模块在基础实验也已经使用到了,本实 ...

  9. 源代码管理工具(上)-SVN基本使用

    ------------------------------------------------------SVN简介和搭建 ------------------------------------- ...

随机推荐

  1. bsdasm

    bsdasm 来源 http://www.int80h.org/bsdasm/ Preface by G. Adam StanislavWhiz Kid Technomagic Assembly la ...

  2. Object Detection: Face Detection using Haar Cascades

    目录   利用基于Haar特征的级联分类器实现人脸检测:官方教程 目标 学习基于Haar特征的级联分类器(Cascade Callifiers)实现人脸检测: 扩展到人眼检测: 基础知识 Paul V ...

  3. findControl 可以获取前台页面的控件

    findControl 可以获取前台页面的控件

  4. 配置IIS使用Python 与常见问题解决

    打开IIS管理器 选择功能视图,然后选择ISAPI和CGI限制 打开后,在右侧操作,点击添加,会出现下图所示 按图中提示填写相应部分,在选择路径时,默认可能是dll文件,改成全部文件即可,然后再选择p ...

  5. T-Sql操作Xml数据(转)

    T-Sql操作Xml数据 一.前言 SQL Server 2005 引入了一种称为 XML 的本机数据类型.用户可以创建这样的表,它在关系列之外还有一个或多个 XML 类型的列:此外,还允许带有变量和 ...

  6. C++基础学习5:强制类型转换

    在C++语言中新增了四个关键字static_cast.const_cast.reinterpret_cast和dynamic_cast.这四个关键字都是用于强制类型转换的.我们逐一来介绍这四个关键字. ...

  7. 14.Diameter of Binary Tree(二叉树的直径)

    Level:   Easy 题目描述: Given a binary tree, you need to compute the length of the diameter of the tree. ...

  8. linux下虚拟主机配置

    <VirtualHost *:80>ServerAdmin  admin@localhostServerName   www.baidu.org DocumentRoot "/d ...

  9. Qt 学习之路 2(23):自定义事件

    Qt 学习之路 2(23):自定义事件  豆子  2012年10月23日  Qt 学习之路 2  21条评论 尽管 Qt 已经提供了很多事件,但对于更加千变万化的需求来说,有限的事件都是不够的.例如, ...

  10. matplotlib学习笔记(三)

    柱状图 柱状图用其每根柱子的长度表示值的大小,它们通常用来比较两组或多组值.下面的程序从文件中读入中国人口的年龄分布数据,并使用柱状图比较男性和女性的年龄分布. import numpy as np ...