T1  chinese

根据他的问题i*f[i]我们容易联想到,答案其实是每种方案中每个点的贡献为1的加和

我们可以转变问题,每个点在所有方案的贡献

进而其实询问就是1-k的取值,有多少中方案再取个和

事实上这样做就是将每个点抽离出来,虽然每种方案中可能包含多个可行点,但是我们每次考虑的都只是一个点的贡献,所以正确

ps:指数不能取模

代码很短

 1 #include<bits/stdc++.h>
2 #define int long long
3 using namespace std;
4 int n,m,K;
5 int mod=1e9+7;
6 int poww(int x,int y)
7 {
8 int ans=1;
9 while(y)
10 {
11 if(y&1)ans=ans*x%mod;
12 x=x*x%mod;
13 y>>=1;
14 }
15 return ans%mod;
16 }
17 int sum=0;
18 signed main()
19 {
20 scanf("%lld%lld%lld",&n,&m,&K);
21 int zz=poww(K,n*m-n-m+1);
22 int two=(n-1)+(m-1);
23 for(int k=2;k<=K;++k)
24 {
25 int xx=poww(k-1,two);
26 sum=(sum+(xx*zz)%mod)%mod;
27 }
28 printf("%lld\n",sum*n%mod*m%mod);
29 }

T2 physics

正解没打,咕了

用暴力剪枝水过的

剪枝一:处理前缀和后O(1)查询,但是因为每次改变的值很小

修改时只需判断修改符号是否在上一轮的答案中,是则输出答案,否则修改

剪枝二:每次二分的长度右边界都是上一轮的答案

 1 #include<bits/stdc++.h>
2 #define int long long
3 #define MAXN 2011
4 using namespace std;
5 int n,m;
6 char a[MAXN][MAXN];
7 int sum[MAXN][MAXN];
8 int last_x,last_y,last_len;
9 int zuo_x,zuo_y;
10 int get_sum1(int x1,int y1,int x2,int y2)
11 {
12 return sum[x2][y2]+sum[x1-1][y1-1]-sum[x2][y1-1]-sum[x1-1][y2];
13 }
14 int work(int mid)
15 {
16 for(int i=1;i<=n-mid+1;++i)
17 {
18 for(int j=1;j<=m-mid+1;++j)
19 {
20 if(get_sum1(i,j,i+mid-1,j+mid-1)==0)
21 {
22 last_x=i,last_y=j;last_len=mid;
23 return 1;
24 }
25 }
26 }
27 return 0;
28 }
29 void second_divied()
30 {
31 int l=1;int r=last_len;
32 while(l+1<r)
33 {
34 int mid=(l+r)>>1;
35 if(work(mid))l=mid;
36 else r=mid;
37 }
38 if(work(r))printf("%lld\n",r);
39 else if(work(l))printf("%lld\n",l);
40 }
41 int q;int ok=0;
42 void the_yu(int x,int y)
43 {
44 for(int i=x;i<=n;++i)
45 {
46 for(int j=y;j<=m;++j)
47 {
48 sum[i][j]=sum[i-1][j]+sum[i][j-1]-sum[i-1][j-1];
49 if(a[i][j]=='-')sum[i][j]++;
50 }
51 }
52 }
53 bool pan(int x,int y)
54 {
55 if(x>=last_x&&y>=last_y&&x<=last_x+last_len-1&&y<=last_y+last_len-1)return 0;
56 return 1;
57 }
58 signed main()
59 {
60 scanf("%lld%lld%lld",&n,&m,&q);last_len=min(n,m);
61 for(int i=1;i<=n;++i)scanf("%s",a[i]+1);
62 zuo_x=0x7fffff;zuo_y=0x7ffff;
63 for(int i=1;i<=q;++i)
64 {
65 int x,y;
66 scanf("%lld%lld",&x,&y);
67 a[x][y]='-';
68 zuo_x=min(zuo_x,x);zuo_y=min(zuo_y,y);
69 if(i>1&&pan(x,y))
70 {
71 printf("%lld\n",last_len);
72 continue;
73 }
74 else
75 {
76 if(i==1)the_yu(1,1);
77 else the_yu(zuo_x,zuo_y);
78 second_divied();
79 zuo_x=0x7fffff;zuo_y=0x7fffff;
80 }
81 }
82 }

T3 chemistry

概率期望,仿佛不可做,咕了....

「模拟8.29」chinese(性质)·physics·chemistry(概率期望)的更多相关文章

  1. 「模拟赛20180406」膜树 prufer编码+概率

    题目描述 给定一个完全图,保证\(w_{u,v}=w_{v,u}\)且\(w_{u,u}=0\),等概率选取一个随机生成树,对于每一对\((u,v)\),求\(dis(u,v)\)的期望值对\(998 ...

  2. 「模拟8.13」任(liu_runda的神题,性质分析)

    考场时没有发现性质,用了个前缀和优化暴力,结果写WA了 我们发现其实联通块的个数就是点的个数-边的个数 然后我们需要维护横向上和纵向上的边的前缀和 前缀和的查询形式稍改一下 暴力 1 #include ...

  3. 2021升级版微服务教程5—通过IDEA运行多个项目实例「模拟集群」

    2021升级版SpringCloud教程从入门到实战精通「H版&alibaba&链路追踪&日志&事务&锁」 教程全目录「含视频」:https://gitee.c ...

  4. 「模拟赛20190327」 第二题 DP+决策单调性优化

    题目描述 小火车虽然很穷,但是他还是得送礼物给妹子,所以他前往了二次元寻找不需要钱的礼物. 小火车准备玩玩二次元的游戏,游戏当然是在一个二维网格中展开的,网格大小是\(n\times m\)的,某些格 ...

  5. 「模拟赛20180306」回忆树 memory LCA+KMP+AC自动机+树状数组

    题目描述 回忆树是一棵树,树边上有小写字母. 一次回忆是这样的:你想起过往,触及心底--唔,不对,我们要说题目. 这题中我们认为回忆是这样的:给定 \(2\) 个点 \(u,v\) (\(u\) 可能 ...

  6. 「模拟8.23」阴阳 DP

    对于此题的性质我们考虑DP 分四种情况 黑色块在右侧单调降,单调升 还有在左侧 另外我们这样可能会记重,所以还要将重复记过的也就是边界线是横的和竖的 然后还要将全白全黑加上 1 #include< ...

  7. 「模拟8.18」字符串(卡特兰数)·乌鸦喝水(树状数组,二分)·所驼门王的宝藏(tarjan,拓扑)

    最近好颓啊,所以啥都做不出来 简单说一下这次考试,分机房了,还分不同考卷,果然我还是留在二机房的蒟蒻, 大概也只有这样的简单题,才能勉强水个rank 3吧........ 其实不必管在哪个机房,努力便 ...

  8. 「模拟8.17」star way to heaven(并查集,最小生成树)

    80分打法 首先二分最后答案,答案即为r,可看作以每个k为圆心r为半径的圆 我们进行并查集维护,维护相交的圆的边界 最后判断是否存在圆将上下边界覆盖,如有证明不行 1 #include<iost ...

  9. 「模拟8.21」山洞(矩阵优化DP)

    暴力: 正解: 考虑循环矩阵,f[i][j]表示从i点到j点的方案数 我们发现n很小,我们预处理出n次的f[i][j] 然后在矩阵快速幂中,我们要从当前的f[i][j]*f[j][k]-->fi ...

随机推荐

  1. 基于ray的分布式机器学习(一)

    基本思路:1.对数据分块,使用多个worker分别处理一个数据块,每个worker暴露两个接口,分别是损失计算的接口loss和梯度计算的接口grad:2.同时定义full_loss和full_grad ...

  2. Django(6)自定义路由转换器

    自定义路径转换器 有时候上面的内置的url转换器并不能满足我们的需求,因此django给我们提供了一个接口可以让我们自己定义自己的url转换器 django内置的路径转换器源码解析 在我们自定义路由转 ...

  3. 关于MySQL参数,这些你要知道

    前言: 在前面一些文章中,经常能看到介绍某某参数的作用,可能有些小伙伴仍搞不清楚 MySQL 参数是啥.本篇文章我们来聊聊 MySQL 参数,学习下如何管理维护 MySQL 参数. 1.MySQL参数 ...

  4. (转)elasticsearch连接不到head插件解决方案

    (1)elasticsearch-5x下的 config/elasticsearch.yml   http.cors.enabled: true   http.cors.allow-origin: & ...

  5. MzzTxx——博客目录

    准备阶段 团队介绍 需求分析 技术规格说明书 功能规格说明书 Alpha 阶段任务分配 团队贡献分分配方案 Scrum Meeting Alpha 2021.04.21 Scrum Meeting 0 ...

  6. 【BUAA软工】Beta阶段测试报告

    项目 内容 班级:北航2020春软件工程 博客园班级博客 作业:Beta阶段测试报告 测试报告 发现的bug Beta阶段的bug [已解决]CPP项目无法进行调试 [已解决] 注册界面注册后不能够自 ...

  7. Spark大数据处理框架入门(单机版)

    导读 引言 环境准备 安装步骤 1.下载地址 2.开始下载 3.解压spark 4.配置环境变量 5.配置 spark-env.sh 6.启动spark服务 7.测试spark stay hungry ...

  8. 为什么说Zoho CRM是最好的销售预测系统?

    在文章的开头,我们来讲讲什么是销售预测--销售预测是指利用销售管道中的商机.已完成的配额.有望完成目标的销售团队或个人等关键信息对产品的销售数量与销售金额进行预测的手段.企业在制定销售计划时的重要任务 ...

  9. 【转载】搭建本地yum源:以下是以centos7为例子

    搭建本地yum源:以下是以centos7为例子  1)首先需要安装 createrepo(需要一个可以使用源的机器,可以访问互联网)安装方法可以使用yum安装epel源 1 yum -y instal ...

  10. WIN10 分区 C盘 至少250-300G E盘至少700G

    win10 就2个分区 C盘 至少250-300G  E盘至少700G