http://codeforces.com/contest/1073

A. Diverse Substring

 #include <bits/stdc++.h>
using namespace std;
#define ll long long
#define minv 1e-6
#define inf 1e9
#define pi 3.1415926536
#define nl 2.7182818284
const ll mod=1e9+;//
const int maxn=1e3+; char s[maxn]; int main()
{
int n,i;
scanf("%d",&n);
scanf("%s",s);
for (i=;i<=n-;i++)
if (s[i]!=s[i+])
break;
if (i==n-)
printf("NO");
else
{
printf("YES\n");
printf("%c%c",s[i],s[i+]);
}
return ;
}

B. Vasya and Books

 #include <iostream>
#include <cstdio>
using namespace std;
const int maxn=2e5+; int f[maxn]; int main()
{
int n,a,v=,i;
scanf("%d",&n);
for (i=;i<=n;i++)
{
scanf("%d",&a);
f[a]=i;
}
for (i=;i<=n;i++)
{
scanf("%d",&a);
if (i!=)
printf(" ");
if (f[a]<v)
printf("");
else
printf("%d",f[a]-v);
v=max(f[a],v);
}
return ;
}

C. Vasya and Robot

奇偶,负数取模

 #include <bits/stdc++.h>
using namespace std;
#define ll long long
const int maxn=2e5+;
const ll inf=1e9; int px[maxn],py[maxn]; int main()
{
char c;
int n,x,y,ax,ay,i,l,r,m,re;
scanf("%d\n",&n);
for (i=;i<=n;i++)
{
scanf("%c",&c);
if (c=='U')
x=,y=;
else if (c=='D')
x=,y=-;
else if (c=='L')
x=-,y=;
else
x=,y=;
px[i]=px[i-]+x;
py[i]=py[i-]+y;
}
scanf("%d%d",&ax,&ay);
if (px[n]==ax && py[n]==ay)
{
printf("");
return ;
}
if (abs(ax+ay+n)%==)
{
printf("-1");
return ;
}
re=inf;
for (i=;i<=n;i++)
{
l=i;
r=n;
while (l<=r)
{
m=(l+r)>>;
///change [i,m] ; use [1,i-1] [m+1,n]
if (m-i+>=abs(px[i-]+px[n]-px[m]-ax)+abs(py[i-]+py[n]-py[m]-ay))
r=m-;
else
l=m+;
}
if (l!=n+)
re=min(re,l-i+);
}
if (re==inf)
re=-;
printf("%d",re);
return ;
}

D. Berland Fair

 #include <bits/stdc++.h>
using namespace std;
#define ll long long
const int maxn=2e5+; int nex[maxn],a[maxn]; int main()
{
int n,i,j,g;
ll m,tot=,num=;
scanf("%d%lld",&n,&m); for (i=;i<n;i++)
scanf("%d",&a[i]),tot+=a[i];
for (i=;i<n;i++)
nex[i]=(i+)%n;
g=n;
i=;
j=n-;
while (nex[i]!=i)
{
num+=m/tot*g;
m%=tot;
while (nex[i]!=i)
{
if (a[i]<=m)
{
m-=a[i];
num++;
j=i;
}
else
{
nex[j]=nex[i];
tot-=a[i];
g--;
}
i=nex[i];
if (m>=tot)
break;
}
}
num+=m/a[i];
cout<<num;
return ;
}
/*
1 100
1 3 1000
1 2 100
*/

E. Segment Sum

代码是错的,以待后续埋坑

 #include <bits/stdc++.h>
using namespace std;
#define ll long long
const ll mod=;
const double minv=1e-; ll sum=,shi[],k,f[][]; void work(ll a,int w,int g,int hav,ll num,int ori,int cond)
{
int s,gg,i,j,c;
if (a==)
return;
s=a/shi[w];
for (i=;i<=s;i++)
{
gg=g-(!((hav>>i) & ) && (!(i== && ori==)));
if (gg>=)
{
if (i<s)
{
/**
这一位选的是i,
除去这一位,还有w位,
从gg个数中选j个数作为需要添加的数(之前没出现过的),
每一位都有k-gg+j种选择
**/
f[][]=;
for (j=;j<=w;j++)
{
f[j][]=f[j-][]*(k-gg)%mod;
///already k-gg numbers
sum=(sum+f[j-][]* sum of k-gg numbers )%mod; for (c=;c<=min(gg,j);c++) sum=(sum+f[j-][c]* k-gg+c numbers + f[j-][c-]* any number(random average of gg numbers)) f[j][c]=(f[j-][c]*(k-gg+c)+f[j-][c-]*(-(k-gg+c-)))%mod;
}
for (c=;c<=min(gg,w);c++)
sum=(sum+f[w][c]*cond)%mod; ///geshu
// f[0][0]=1;
// for (j=1;j<=w;j++)
// {
// f[j][0]=f[j-1][0]*(k-gg)%mod;
// for (c=1;c<=min(gg,j);c++)
// f[j][c]=(f[j-1][c]*(k-gg+c)+f[j-1][c-1]*(10-(k-gg+c-1)))%mod;
// }
// for (c=0;c<=min(gg,w);c++)
// sum=(sum+f[w][c]*cond)%mod;
}
else
work(a%shi[w],w-,gg,hav|(<<i),ori&(i==),cond);
}
}
} int main()
{
ll l,r;
int i,w;
scanf("%lld%lld%d",&l,&r,&k);
shi[]=;
for (i=;i<=;i++)
shi[i]=shi[i-]*; w=log(r+minv)/log();
work(r,w,k,,,,);
if (l!=)
{
w=log(l-+minv)/log();///l=1???
work(l-,w,k,,,,-);
}
printf("%lld",(sum+mod)%mod);
return ;
}

Educational Codeforces Round 53 (Rated for Div. 2)的更多相关文章

  1. Educational Codeforces Round 53 (Rated for Div. 2) (前五题题解)

    这场比赛没有打,后来补了一下,第五题数位dp好不容易才搞出来(我太菜啊). 比赛传送门:http://codeforces.com/contest/1073 A. Diverse Substring ...

  2. Educational Codeforces Round 53 (Rated for Div. 2) E. Segment Sum (数位dp求和)

    题目链接:https://codeforces.com/contest/1073/problem/E 题目大意:给定一个区间[l,r],需要求出区间[l,r]内符合数位上的不同数字个数不超过k个的数的 ...

  3. [codeforces][Educational Codeforces Round 53 (Rated for Div. 2)D. Berland Fair]

    http://codeforces.com/problemset/problem/1073/D 题目大意:有n个物品(n<2e5)围成一个圈,你有t(t<1e18)元,每次经过物品i,如果 ...

  4. Educational Codeforces Round 53 (Rated for Div. 2) E. Segment Sum

    https://codeforces.com/contest/1073/problem/E 题意 求出l到r之间的符合要求的数之和,结果取模998244353 要求:组成数的数位所用的数字种类不超过k ...

  5. Educational Codeforces Round 53 (Rated for Div. 2) C. Vasya and Robot 【二分 + 尺取】

    任意门:http://codeforces.com/contest/1073/problem/C C. Vasya and Robot time limit per test 1 second mem ...

  6. Educational Codeforces Round 53 (Rated for Div. 2)G. Yet Another LCP Problem

    题意:给串s,每次询问k个数a,l个数b,问a和b作为后缀的lcp的综合 题解:和bzoj3879类似,反向sam日神仙...lcp就是fail树上的lca.把点抠出来建虚树,然后在上面dp即可.(感 ...

  7. Educational Codeforces Round 53 (Rated for Div. 2) D. Berland Fair

    题意:一个人  有T块钱 有一圈商店 分别出售 不同价格的东西  每次经过商店只能买一个  并且如果钱够就必须买 这个人一定是从1号店开始的!(比赛的时候读错了题,以为随意起点...)问可以买多少个 ...

  8. Educational Codeforces Round 53 (Rated for Div. 2) C. Vasya and Robot

    题意:给出一段操作序列 和目的地 问修改(只可以更改 不可以删除或添加)该序列使得最后到达终点时  所进行的修改代价最小是多少 其中代价的定义是  终点序号-起点序号-1 思路:因为代价是终点序号减去 ...

  9. Educational Codeforces Round 53 (Rated for Div. 2) A Diverse Substring

    传送门 https://www.cnblogs.com/violet-acmer/p/10163375.html 题意: 给出串是多态的定义“长度为 n 的串 s ,当串 s 中所有字母出现的次数严格 ...

随机推荐

  1. James 3.1服务器的安装与搭建

    参考:1. ububtu下基于docker安装配置Apache James 3.1.0: https://blog.csdn.net/bonwei/article/details/83061372 2 ...

  2. 2.ansible-playbook基本参数

    ansible-playbook的参数--force-handlers run handlers even if a task fails 强制执行handler--list-tags list al ...

  3. murongxixi的凸优化笔记

    http://www.cnblogs.com/murongxixi/p/3598645.html 在前两节里已经涉及到集合的相对内部与闭包的概念,这一节我们深入研究它们的性质和计算,之后介绍凸函数的连 ...

  4. PHP——判断数组中是否有重复值并找出重复值

    可以用来测试需要唯一凭据号码的,是否有重复值,不过一般直接使用uuid了,简单粗暴就解决问题,这个就简单的测试生成的数据是否有重复值吧 <?php /* * @Author: wyy * @Da ...

  5. 大学jsp实验4include,forword

    一.实验目的与要求 1.掌握常用JSP动作标记的使用. 二.实验内容 1.include动作标记的使用 编写一个名为shiyan4_1.jsp的JSP页面,页面内容自定,但要求使用include动作标 ...

  6. POJ 3074 Sudoku(算竞进阶习题)

    二进制优化+dfs 话说这题数据中真的丧心病狂..不加inline还过不去.. 因为不会DLX只好用二进制来优化了...万万没想到还是低空飘过 我们在行.列.格分别用一个9位二进制常数来记录什么数能放 ...

  7. Ionic3实现选项卡切换可以重新加载echarts

    要求 选项卡每切换一次,就加载对应的一个echarts 图,要有一开始的动画效果效果如下: 注意点 1.echarts要想每次都能重新加载,需要移除"_echarts_instance_&q ...

  8. day5 笔记

    笔记 字符格式化输出: 占位符%s s=string 字符型%d d=dight 整数型%f f=float 浮点数 约等于小数 通过格式:%(str1,str2,str3)一一对应 数据运算 数据类 ...

  9. 栈长这里是生成了一个 Maven 示例项目。

    Spring Cloud 的注册中心可以由 Eureka.Consul.Zookeeper.ETCD 等来实现,这里推荐使用 Spring Cloud Eureka 来实现注册中心,它基于 Netfl ...

  10. 支持markwon写ppt的工具marp-调研

    1.需求 使用markdown写ppt 支持大部分markdown语法,含高亮.公式及表格等 支持转为html,在浏览器中展示 2.调研 符合条件的工具:marp 用法参考 Marp之简单编写PPT格 ...