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. burp-suite(Web安全测试工具)教程

    Burp Suite 是用于攻击web 应用程序的集成平台.它包含了许多工具,并为这些工具设计了许多接口,以促进加快攻击应用程序的过程.所有的工具都共享一个能处理并显示HTTP 消息,持久性,认证,代 ...

  2. 那些在GitHub能提高你的编程技能的项目

    1.免费的编程书籍 免费的开发手册 167K Repo:github.com/EbookFoundation/free-programming.. 2. 很棒的话题 包含了各种有趣的话题 148k R ...

  3. JS阻止冒泡事件

    <!DOCTYPE html><html><head> <title></title> <style type="text/ ...

  4. Spring Cloud 升级之路 - 2020.0.x - 5. 理解 NamedContextFactory

    spring-cloud-commons 中参考了 spring-cloud-netflix 的设计,引入了 NamedContextFactory 机制,一般用于对于不同微服务的客户端模块使用不同的 ...

  5. body元素的常用属性

    一.bgcolor属性 a.bgcolor 设置文档的背景颜色. b.用法 <body bgcolor="red"> body的常用属性! </body> ...

  6. 理解RESTful架构——Restful API设计指南

    理解RESTful架构 Restful API设计指南 理解RESTful架构 越来越多的人开始意识到,网站即软件,而且是一种新型的软件. 这种"互联网软件"采用客户端/服务器模式 ...

  7. HAProxy与LVS综合----搭建LNMP源码编译结合HAProxy或LVS负载均衡

    实战一:实现LNMP与Keepalived.HAProxy做反向代理 框架图: 实现原理: 1.当A用户访问网站时,此时需要经过防火墙,防火墙将用户访问的IP地址处理后,如果允许访问,则就访问到HAr ...

  8. 043.Python线程基本介绍

    一 线程的基本概念 1.1 进程和线程 进程是资源分配的最小单位 线程是计算机中调度的最小单位 进程池: 开启过多的进程并不一走提高你的效率, 如果cp负载任务过多,平均单个任务执行的效率就会低,反而 ...

  9. IDEA Git 项目实战场景

    实战场景一:上班啦,从远程仓库克隆项目到本地仓库(Clone) 打开 IDEA,在 Check out from Version Control 下拉菜单选择 Git,如下: 在弹出窗口的 URL 地 ...

  10. MQTT简介-(转自cacard)

    MQTT - MQ Telemetry Transport   轻量级的 machine-to-machine 通信协议. publish/subscribe模式. 基于TCP/IP. 支持QoS. ...