联考8.4

day1真是萎的不行,又是被大佬们一阵狂踩......

T1在楼上打孔的环境下看了将近半个多小时才把题目看懂= =,手画了几组样例,感觉暴力都不怎么会打就过了......,0分

T2看了一下没什么特别的思路,30分暴搜直接上吧,结果哈希判重时k<<1打成了1<<k,还有不会取反的我把a[i]=!a[i]写成了a[i]^=1(取反是单目的,异或时双目的),我xxxxx,0分

T3看了前面几个数据感觉暴力很好打啊,然后又看了后面几个点,感觉二维前缀和搞一搞应该能拿六十多分,码完之后,处理了下细节,感觉很妙,结果莫名只有8分,然后捷哥没判负下标都有64分.......看来我真的是个非洲人= =,8分

0+0+8=8,蒟蒻脸上又一次挂满了脚印= =、

T1 maou:

题解:

DP

发现处理到第i位时后面的方案数与前面无关,所以可以从后往前DP(从有无后效性上来推)

状态:f[i][j]表示从后往前确定到第i位,前面最大值为j的方案数

转移:f[i][j]=f[i+1][j]*j+f[i+1][i][j+1]

 1 #include<cstdio>
 2 #include<cstdlib>
 3 #include<cstring>
 4 #include<iostream>
 5 #include<cmath>
 6 #include<algorithm>
 7 #define ll long long
 8 using namespace std;
 9
10 const int maxn = 10010;
11 const int mod = 1000007;
12
13 int n,ans;
14 int dp[2][maxn],a[maxn],mx[maxn];
15
16 int main() {
17
18   scanf("%d", &n);
19   for(int i=1; i<=n; i++) scanf("%d", &a[i]),dp[0][i]=1;
20   for(int i=1; i<=n; i++) mx[i]=max(mx[i-1],a[i-1]);
21   int now=0;
22   for(int i=n; i>=1; i--) {
23     ans+=(1ll*dp[now][mx[i]]*(a[i]-1))%mod,ans%=mod;
24     for(int k=1; k<i; k++) dp[now^1][k]=(1ll*k*dp[now][k]+dp[now][k+1])%mod;
25     now^=1;
26   }
27   printf("%d", (ans+1)%mod);
28 }
时间: 2024-10-06 16:45:46

联考8.4的相关文章

jloi2017(shoi2017?)六省联考酱油记

Day -n 听说了4.22.4.23的省选,而且还是六省联考. 压力山大. 尽管我只是一名高一的simple OIer,在省选到来之前,心里还是很紧张的. 毕竟自己也知道南方dalao们都是神犇,像我这种巨蒻能考成什么样还很不好说. 感觉当时的紧张气氛堪比中考前. Teacher:这次省选就是让你们体验一下考试氛围的,并没有指望你们有多好的成绩,自己写好暴力就行了,不必非要写正解. 嗯,我本来就是去打酱油的,不在乎成绩. 考试前几天敲敲模板,博客也不写了,全力准备考试. Day 0 考前的晚上

3.5~3.6联考题解

本来想加个密码的,后来一想全HE就咱们这几个人,外省的dalao愿看也没事儿,就公开算了,省得加密码各种麻烦. 先补这两天的题解吧--如果有空的话我可能会把上次联考的题解补上= =(中午没睡觉,现在困得很,根本没法写题-- 算算算number 感觉出题人出题的时候zz了吧,费了半天搞出来一个极其麻烦还跑得慢的做法是要闹哪样啊-- 算了,写一写$O(nk)$做法的推导过程吧,虽然其实非常好推-- 首先定义$S_i$表示到$1~i$位置的前缀和,并且规定$S_0=0$,那么 \begin{align

六省联考:组合数问题

4870: [Shoi2017]组合数问题 2017-09-03 Description Input 第一行有四个整数 n, p, k, r,所有整数含义见问题描述. 1 ≤ n ≤ 10^9, 0 ≤ r < k ≤ 50, 2 ≤ p ≤ 2^30 ? 1 Output 一行一个整数代表答案. INPUT_1 2 10007 2 0 INPUT_2 20 10007 20 0 OUT_1 8 OUT_2 176 并不知道这个是什么玄学(组合数),但是这个题并不是裸组合数,因为联考时用组合数递

【2017杭二联考】 图的有向环

P2555 - [2017杭二联考]图的有向环 Description 题目背景: 幻想乡的亡灵公主,西行寺幽幽子,在幻想乡很受欢迎,经常有妖怪来拜访她,但是幽 幽子并不喜欢被打扰,她希望从白玉楼出发,散步之后再回到白玉楼,同时路上遇到的妖怪 越少越好(有趣的是道路两边的妖怪数量并不相同,分别从两个方向经过同一条道路遇到的 妖怪数量是不同的).当然,作为冥界的公主,她是不会重复经过同一条道路的. 问题描述: 给定一个有 n 个点 m 条无向边的图,每条无向边最多只能经过一次. 对于边(ui, v

【2017杭二联考】穿越矩形

P2554 - [2017杭二联考]穿越矩形 Description 题目背景: 幻想乡的创始人之一,八云紫,有着强大的控制结界的能力,可以瞬间消除一定范围内 所有弹幕.我们可以将其消除范围视为一个矩形,而弹幕可以视为动点. 八云紫想要嘲讽她的敌人,所以她希望只使用一次消除能力,尽可能多地消除弹幕. 请你告诉她,在哪一时刻使用道具,可以消除尽可能多的弹幕. 问题描述: 在平面上给定一个矩形区域(也可能退化成线段或者点). 矩形的边与坐标轴平行,左下端 点为 (xl,yl),右上端点为 (xr,y

8.9联考题解

今天的题有质量多了,尤其是第一题不再毫无意义,果然考这样的试比较有收获. 时间限制:1sec  内存限制:128MB 题解       刚开始看的时候没有思路.不过这样的考试才叫正常嘛,前两天T1那是什么玩意= =.边读题边写前缀和.离散之类的词,但是前缀和并不能处理出题目中所要求的情况,3*10^5大概最多nlogn.举了几个例子,发现好像和后面大于它的数有关,想了想怎么求它后面大于它的数字个数,过了一会猛然发现我举的例子也太特殊了,全都是单调递增的,有点挫败,就去做后面的题了.T2做了很久还

10.29 FJ四校联考

//四校联考Rank 16 感觉很滋磁 (虽然考的时候抱怨厦门一中出的数学题很NOIP///) 圈地 [问题描述] n根长度不一定相同的木棍,至多可以对其中一根切一刀,然后用其中的任意根围一个三角形,求三角形的最大面积.设面积为S,输出16*S^2对998244353取模后的答案.特别地,无解输出-1. 注:退化的三角形(面积为零)不被认为是三角形,答案应该为-1. [输入文件] 输入文件为tri.in. 输入文件第一行包含两个正整数n和998244353. 第二行包含n个正整数,表示每根木棍的

bzoj千题计划265:bzoj4873: [六省联考2017]寿司餐厅

http://www.lydsy.com/JudgeOnline/problem.php?id=4873 选a必选b,a依赖于b 最大权闭合子图模型 构图: 1.源点 向 正美味度区间 连 流量为 美味度 的边 2.负美味度区间 向 汇点 连 流量为 美味度的绝对值 的边 3.区间[i,j] 向 区间[i+1,j].区间[i,j-1] 连 流量为 inf 的边 4.区间[i,i] 向 寿司i 连 流量为 inf 的边 5.寿司i 向 汇点 连 流量为 寿司代号 的边 6.寿司i 向 它的代号 连

bzoj千题计划266:bzoj4872: [六省联考2017]分手是祝愿

http://www.lydsy.com/JudgeOnline/problem.php?id=4872 一种最优解是 从大到小灯有亮的就灭掉 最优解是唯一的,且关灯的顺序没有影响 最优解 对每个开关至多操作1次,(连带着的灯的亮灭改变不算) 设最优解 需要操作cnt次,那么就有cnt盏灯是正确的选择 设 f[i] 表示 有i种正确的选择  变为 有i-1种正确的选择 的 期望次数 那么在n盏灯中,有i盏灯操作1次 就可以 减少一次正确选择 有n-i盏灯是错误的选择,选了它还要把它还原,还原它也

[BZOJ4869][六省联考2017]相逢是问候(线段树+扩展欧拉定理)

4869: [Shoi2017]相逢是问候 Time Limit: 40 Sec  Memory Limit: 512 MBSubmit: 1313  Solved: 471[Submit][Status][Discuss] Description Informatikverbindetdichundmich. 信息将你我连结.B君希望以维护一个长度为n的数组,这个数组的下标为从1到n的正整数.一共有m个操作,可以 分为两种:0 l r表示将第l个到第r个数(al,al+1,...,ar)中的每