T1 X国的军队

贪心,按$b-a$的大小降序排序,然后就贪心吧

#include<iostream>
#include<cstdio>
#include<algorithm>
#define ll long long
using namespace std;
struct node
{
ll a,b,las;
}h[];
ll T,n,ans;
ll read()
{
ll aa=,bb=;char cc=getchar();
while(cc>''||cc<''){if(cc=='-') bb=-;cc=getchar();}
while(cc<=''&&cc>=''){aa=aa*+cc-'';cc=getchar();}
return aa*bb;
}
bool cmp(node x,node y)
{
return x.b-x.a>y.b-y.a;
}
int main()
{
T=read();
while(T--){
n=read();ans=;
for(int i=;i<=n;i++) h[i].a=read(),h[i].b=read();
sort(h+,h+n+,cmp);
for(int i=;i<=n;i++){
if(h[i-].las<=h[i].b) ans+=h[i].b-h[i-].las,h[i].las=h[i].b-h[i].a;
else h[i].las=h[i-].las-h[i].b+h[i].b-h[i].a;
}
printf("%lld\n",ans);
}
return ;
}

X国的军队

T2 排列组合

结论:$\sum{C_n^i*C_n^i}=C_{2*n}^n$

$\sum{C_n^i*C_n^i}=\sum{C_n^i*C_n^{n-i}}$

考虑他的意义,在n个物品中选$i$个,再从$n$个物品中选$n-i$个

也就是$2*n$个物品,从前$n$个中选$i$个,从后$n$个中选$n-i$个

因为$i\in(0,n)$,取遍了所有的数,所以就是$C_{2*n}^n$

就是在$2*n$的序列中,任选$n$个,有i个在左半边,那么就一定有$n-i$个在右半边,两者是一一对应的

#include<iostream>
#include<cstdio>
#define ll long long
#define mod 1000000007
using namespace std;
ll T,n,ans,fac[],facinv[],inv[];
ll read()
{
ll aa=,bb=;char cc=getchar();
while(cc>''||cc<''){if(cc=='-') bb=-;cc=getchar();}
while(cc<=''&&cc>=''){aa=aa*+cc-'';cc=getchar();}
return aa*bb;
}
void init()
{
fac[]=;inv[]=;facinv[]=;
for(ll i=;i<=;i++){
if(i!=) inv[i]=(mod-mod/i)*inv[mod%i]%mod;
fac[i]=fac[i-]*i%mod;
facinv[i]=facinv[i-]*inv[i]%mod;
}
}
ll C(ll x,ll y)
{
return fac[x]*facinv[y]%mod*facinv[x-y]%mod;
}
int main()
{
T=read();init();
while(T--) n=read(),printf("%lld\n",C(n+n,n));
return ;
}

排列组合

T3 回文

我只会暴力,我不会马拉车的部分分

$g[i][j]$表示从$i$到$j$是否是回文串,转移很简单,$g[i][j]=1$ $(s[i]==s[j]$&&$g[i+1][j-1]==1)$,边界要特判一下,一个奇数边界,一个偶数边界

$f[i][j]$表示$i$到$j$中一共有多少个回文串,转移稍用容斥,$f[i][j]=f[i+1][j]+f[i][j-1]-f[i+1][j-1]+g[i][j]$,这个边界其实没有判的必要

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int n,m,f[][];
char s[];
bool g[][];
int read()
{
int aa=,bb=;char cc=getchar();
while(cc>''||cc<''){if(cc=='-') bb=-;cc=getchar();}
while(cc<=''&&cc>=''){aa=(aa<<)+(aa<<)+(cc^'');cc=getchar();}
return aa*bb;
}
int main()
{
scanf("%s",s+);n=strlen(s+);
for(int i=n;i>=;i--){
g[i][i]=;
if(s[i]==s[i+]) g[i][i+]=;
for(int j=i+;j<=n;j++) if(s[i]==s[j]&&g[i+][j-]) g[i][j]=;
}
for(int i=n;i>=;i--)
for(int j=i;j<=n;j++)
f[i][j]=f[i+][j]+f[i][j-]-f[i+][j-]+g[i][j];
m=read();int l,r;
for(int i=;i<=m;i++) l=read(),r=read(),printf("%d\n",f[l][r]);
return ;
}

回文

不想退役就静下来

10.1 csp-s模拟测试(b) X国的军队+排列组合+回文的更多相关文章

  1. csp-s模拟测试10.1(b)X 国的军队,排列组合, 回文题解

    题面:https://www.cnblogs.com/Juve/articles/11615883.html X 国的军队: 好像有O(T*N)的直接贪心做法 其实多带一个log的二分也可以过 先对所 ...

  2. 安装nginx python uwsgi环境 以及模拟测试

    uwsgi帮助文档: http://uwsgi-docs-cn.readthedocs.io/zh_CN/latest/WSGIquickstart.html http://uwsgi-docs.re ...

  3. [考试反思]0729NOIP模拟测试10

    安度因:哇哦. 安度因:谢谢你. 第三个rank1不知为什么就来了.迷之二连?也不知道哪里来的rp 连续两次考试数学都占了比较大的比重,所以我非常幸运的得以发挥我的优势(也许是优势吧,反正数学里基本没 ...

  4. Android单元测试与模拟测试详解

    测试与基本规范 为什么需要测试? 为了稳定性,能够明确的了解是否正确的完成开发. 更加易于维护,能够在修改代码后保证功能不被破坏. 集成一些工具,规范开发规范,使得代码更加稳定( 如通过 phabri ...

  5. Mock 模拟测试简介及 Mockito 使用入门

    Mock 是什么mock 测试就是在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法.这个虚拟的对象就是mock对象.mock对象就是真实对象在调试期间的代 ...

  6. Mac下Jmeter快速安装与入门-模拟测试Post请求及设置Http头

    [1]去Apache官网下载 Binaries系列的最新Jmeter.gz包 [2]下载到本地之后解压缩,进入到解压之后的目录然后,找到apache-jmeter-4.0/bin/jmeter.sh ...

  7. [2018冬令营模拟测试赛(二十一)]Problem A: Decalcomania

    [2018冬令营模拟测试赛(二十一)]Problem A: Decalcomania 试题描述 输入 见"试题描述" 输出 见"试题描述" 输入示例 见&quo ...

  8. 【转】利用Python中的mock库对Python代码进行模拟测试

    出处 https://www.toptal.com/python/an-introduction-to-mocking-in-python http://www.oschina.net/transla ...

  9. noi2019模拟测试赛(四十七)

    noi2019模拟测试赛(四十七) T1与运算(and) 题意: ​ 给你一个序列\(a_i\),定义\(f_i=a_1\&a_2\&\cdots\&a_i\),求这个序列的所 ...

随机推荐

  1. golang数据结构之选择排序

    //SelectSort 选择排序 func SelectSort(arr *[]int) { ; i < len(arr); i++ { tmp := arr[i] index := i ; ...

  2. iOS: 本地通知的前后变化(iOS10)

    一.介绍  通知和推送是应用程序中很重要的组成部分.本地通知可以为应用程序注册一些定时任务,例如闹钟.定时提醒等.远程推送则更强大,提供了一种通过服务端主动推送消息到客户端的方式,服务端可以更加灵活地 ...

  3. 适合新手:从零开发一个IM服务端(基于Netty,有完整源码)

    本文由“yuanrw”分享,博客:juejin.im/user/5cefab8451882510eb758606,收录时内容有改动和修订. 0.引言 站长提示:本文适合IM新手阅读,但最好有一定的网络 ...

  4. Python 十大装 X 语法(二)

    Python 是一种代表简单思想的语言,其语法相对简单,很容易上手.不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了.本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并 ...

  5. (四)初识NumPy(函数和图像的数组表示)

    本章节主要介绍NumPy中的三个主要的函数,分别是随机函数.统计函数和梯度函数,以及一个较经典的用数组来表示图像的栗子!,希望大家能有新的收货,共同进步! 一.np.random的随机函数(1) ra ...

  6. Django JsonResponse 不自动设置 cookie 的解决方案

    [背景] 目前在做一个前后端分离的 web 项目,后端使用的是 django 框架,所有的 API 都只返回 json :就在这个过程中遇到了一个问题,那就是对于所有的 JsonResponse dj ...

  7. tensorflow查看使用的是cpu还是gpu

    https://stackoverflow.com/questions/38009682/how-to-tell-if-tensorflow-is-using-gpu-acceleration-fro ...

  8. 死磕 java同步系列之Semaphore源码解析

    问题 (1)Semaphore是什么? (2)Semaphore具有哪些特性? (3)Semaphore通常使用在什么场景中? (4)Semaphore的许可次数是否可以动态增减? (5)Semaph ...

  9. C# get files and write the files full name in txt

    static void GetAllFiles() { string path = "filepath"; var allFiles = Directory.GetFiles(pa ...

  10. ASP.NET MVC IOC 之 Autofac(一)

    新建一个MVC项目,如 AutoFacTest,引用autofac,如下图: 接下来就是开始进行编程了 首先,新建一个类库,名为 AutoFacTest.Service,该类库编写服务层代码,我们的接 ...