cf1207解题报告

cf1207解题报告

A

模拟

#include <bits/stdc++.h>
#define ll long long
using namespace std;
ll T,a,b,c,x,y;
int main() {cin>>T;while(T --> 0) {cin>>a>>b>>c>>x>>y;ll ans=0;if(x>y) {while(a>=2&&b>=1) ans+=x,a-=2,b--;while(a>=2&&c>=1) ans+=y,a-=2,c--;} else {while(a>=2&&c>=1) ans+=y,a-=2,c--;while(a>=2&&b>=1) ans+=x,a-=2,b--;}cout<<ans<<"\n";}return 0;
}

B

能选就选

#include <bits/stdc++.h>
#define ll long long
using namespace std;
const int _=110;
int n,m,a[_][_],b[_][_];
vector<pair<int,int> > ans;
int main() {cin>>n>>m;for(int i=1;i<=n;++i)for(int j=1;j<=m;++j)cin>>a[i][j];for(int i=1;i<n;++i) {for(int j=1;j<m;++j) {if(a[i][j]&&a[i+1][j]&&a[i][j+1]&&a[i+1][j+1]) {b[i][j]=b[i+1][j]=b[i][j+1]=b[i+1][j+1]=1;ans.push_back(make_pair(i,j));  }}}for(int i=1;i<=n;++i)for(int j=1;j<=m;++j) if(a[i][j]!=b[i][j]) return puts("-1"),0;printf("%d\n",(int)ans.size());for(auto x:ans) printf("%d %d\n",x.first,x.second);return 0;
}

C

简单dp

#include <bits/stdc++.h>
#define ll long long
using namespace std;
const int _=1e6+7;
ll f[_][2];int s[_];
int main() {int T,n,a,b;scanf("%d",&T);while(T --> 0) {scanf("%d%d%d",&n,&a,&b);for(int i=1;i<=n;++i) scanf("%1d",&s[i]);memset(f,0x3f,sizeof(f));f[1][0]=0;for(int i=2;i<=n+1;++i) {f[i][1]=min(f[i-1][1],f[i-1][0]+a)+b;if(!s[i] and !s[i-1])f[i][0]=min(f[i-1][0],f[i-1][1]+a);         }ll ans=f[n+1][0]+1LL*n*a+1LL*(n+1)*b;cout<<ans<<"\n";}return 0;   
}

D

入门容斥。
\(n!-bad_a-bad_b+bad_a&&bad_b\)

#include <bits/stdc++.h>
#define ll long long
using namespace std;
const ll _=6e5+7,mod=998244353;
ll read() {ll x=0,f=1;char s=getchar();for(;s>'9'||s<'0';s=getchar()) if(s=='-') f=-1;for(;s>='0'&&s<='9';s=getchar()) x=x*10+s-'0';return x*f;
}
ll n,jc[_];
struct node {ll a,b;}c[_];
bool operator == (node x,node y) {return x.a==y.a&&x.b==y.b;
}
bool cmp1(node x,node y) {return x.a==y.a?x.b<y.b:x.a<y.a;
}
bool cmp2(node x,node y) {return x.b==y.b?x.a<y.a:x.b<y.b;
}
int main() {n=read();jc[0]=jc[1]=1;for(ll i=2;i<=n;++i) jc[i]=jc[i-1]*i%mod;for(ll i=1;i<=n;++i) c[i].a=read(),c[i].b=read();ll bad1=1,bad2=1;sort(c+1,c+1+n,cmp1);for(ll l=1,r;l<=n;) {r=l;while(c[l].a==c[r+1].a&&r+1<=n) r++;bad1*=jc[r-l+1],bad1%=mod;l=r+1;}sort(c+1,c+1+n,cmp2);for(ll l=1,r;l<=n;) {r=l;while(c[l].b==c[r+1].b&&r+1<=n) r++;bad2*=jc[r-l+1],bad2%=mod;l=r+1;}ll ans=jc[n]-bad1-bad2;ans=(ans%mod+mod)%mod;for(ll i=2;i<=n;++i)if(c[i-1].a>c[i].a)return cout<<ans<<"\n",0;ll good=1;for(ll l=1,r;l<=n;) {r=l;while(c[l]==c[r+1]&&r+1<=n) r++;good*=jc[r-l+1],good%=mod;l=r+1;}ans+=good;ans=(ans%mod+mod)%mod;cout<<ans<<"\n";return 0;
}

E

两次确定x的前7位和后七位。

#include <bits/stdc++.h>
using namespace std;
int tmp,ans;
int main() {printf("? ");for(int i=1;i<=100;++i) printf("%d ",i);printf("\n");fflush(stdout);scanf("%d",&tmp);for(int i=7;i<14;++i) if(tmp&(1<<i)) ans|=1<<i;printf("? ");for(int i=1;i<=100;++i) printf("%d ",i<<7);printf("\n");fflush(stdout);scanf("%d",&tmp);for(int i=0;i<7;++i) if(tmp&(1<<i)) ans|=1<<i;cout<<"! "<<ans<<"\n";return 0;
}

F

分块。
又读错范围了,开了\(long long T\)飞了.
预处理sum[i][j]\(表示\)%i\(余\)j\(的和。 对于模数大于\)\sqrt{n}$的直接暴力跳。

#include <bits/stdc++.h>
#define int long long
#define ll long long
using namespace std;
int read() {int x=0,f=1;char s=getchar();for(;s>'9'||s<'0';s=getchar()) if(s=='-') f=-1;for(;s>='0'&&s<='9';s=getchar()) x=x*10+s-'0';return x*f;
}
const int _=5e5+7;
ll n,sum[1000][1000],a[_];
signed main() {n=read();int dsr=sqrt(500000);while(n --> 0) {int opt=read(),x=read(),y=read();if(opt==1) {a[x]+=y;for(int i=1;i<=dsr;++i) sum[i][x%i]+=y;} else {//%x=yif(x>dsr) {int ans=0;for(int i=y;i<=500000;i+=x) ans+=a[i];cout<<ans<<"\n";} else {cout<<sum[x][y]<<"\n";}}   }return 0;
}

转载于:https://www.cnblogs.com/dsrdsr/p/11405992.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/362994.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Oracle 用脚本安装第二个数据库

安装第二个数据库&#xff1a;登录oracle用户进入家目录&#xff0c;添加配置环境变量&#xff1a;vi .bash_profier ORACLE_SIDprod2临时环境变量&#xff1a;$export ORACLE_HOME/u01/app/oracle/product/11.2.0/db_1 $export ORACLE_SIDprod2创建第二个数据库文件目录&#…

深入学习jQuery鼠标事件

前面的话 鼠标事件是DOM事件中最常用的事件&#xff0c;jQuery对鼠标事件进行了封装和扩展。本文将详细介绍jQuery鼠标事件 类型 鼠标事件共10类&#xff0c;包括click、contextmenu、dblclick、mousedown、mouseup、mousemove、mouseover、mouseout、mouseenter和mouseleave c…

智能自动PPR更改事件策略

ADF开发人员普遍认为&#xff0c;将迭代器绑定更改事件策略设置为ppr在性能方面不是一件好事&#xff0c;因为此策略会强制框架刷新每个请求上绑定到此迭代器的所有属性绑定。 这不是真的&#xff01; 框架仅刷新在请求期间已更改的属性和依赖于已更改属性的属性。 让我们考虑…

[转]国际化: 理解Java平台上的Locale

From:http://jatula.javaeye.com/blog/183680 语言和地理环境对我们的文化产生重要影响.我们同他人之间的交流以及生活中的事件都发生在语言和地理环境所产生的一个系统里.由于语言和环境的不同,以至 需要我们来制定一个适合的方式来达到向他人表述我们自己或者我们的想法的目的…

深入学习jQuery描述文本内容的3个方法

前面的话 在javascript中&#xff0c;描述元素内容有5个属性&#xff0c;分别是innerHTML、outerHTML、innerText、outerText和textContent。这5个属性各自有各自的功能&#xff0c;且兼容性不同。jQuery针对这样的处理提供了3个便捷的方法&#xff0c;分别是&#xff1a;html(…

luoguP4551最长异或路径

P4551最长异或路径 链接 luogu 思路 从\(1\)开始\(dfs\)求出\(xor\)路径。然后根据性质\(x\)到\(y\)的\(xor\)路径就是\(xo[x]^xo[y]\) 代码 #include <bits/stdc.h> using namespace std; const int _1e57; int xo[_],w[_],ans-1,num0; struct node {int v,q,nxt; }e[_&…

谈一谈我的996 (随笔)

说一说996这个最近技术圈比较热门的话题。 什么是996&#xff0c;早九晚九一周上班6天。 看朋友圈&#xff0c;有个朋友说自己没有经历过什么是996&#xff0c;感觉自己是个假的程序员&#xff0c;是不是程序员就应该加班呢&#xff0c;是不是已经下意识&#xff0c;大众性的认…

装饰器设计模式的应用

嗨&#xff0c;您好&#xff01; 今天&#xff0c;我将展示装饰设计模式的实际应用。 装饰器设计模式是一种广泛使用的设计模式&#xff0c;同时在运行期间处理图形&#xff0c;树木和动态更改。 如果您正在寻找或尝试进行递归&#xff0c;这也是一个不错的选择。 我喜欢它。…

ubuntu postgresql 的安装

本人亲测&#xff0c;在ubuntu9.10上安装的postgresql 8.3版本。郁闷了好几天&#xff0c;终于ok了。sudo apt-get install postgresql-8.3 postgresql-client-8.3 postgresql-contrib-8.3然后在/etc/profile里加上export POSTGRES_HOME/usr/lib/postgresql/8.3export PGLIB$PO…

loj2090. 「ZJOI2016」旅行者

loj2090. 「ZJOI2016」旅行者 链接 loj 思路 \((l,mid)(mid1,r)\).考虑跨过mid的贡献。 假设选的中间那条线的点为gzy,贡献为\(dis(x,gzy)dis(gzy,y)\) 那就计算n遍最短路,一次分治为\(n^2mlog{nm}\) 设Sn*m.矩阵的长度是不定的&#xff0c;每次取最长的边进行分治是最好的&…

利用select实现年月日三级联动的日期选择效果

前面的话 关于select控件&#xff0c;可能年月日三级联动的日期选择效果是最常见的应用了。本文是选择框脚本的实践&#xff0c;下面将对日期选择效果进行详细介绍 演示 style"width: 100%; height: 80px;" src"https://demo.xiaohuochai.site/js/date/d2.html&…

ubuntu资料

1、VNC实现Windows远程访问Ubuntu 16.04&#xff08;无需安装第三方桌面,直接使用自带远程工具&#xff09; https://www.cnblogs.com/xuliangxing/p/7642650.html 转载于:https://www.cnblogs.com/little-kwy/p/10761865.html

守护基于JVM的应用程序

部署体系结构设计是任何定制服务器端应用程序开发项目的重要组成部分。 由于其重要性&#xff0c;部署架构设计应尽早开始&#xff0c;并与其他开发活动一起进行。 部署体系结构设计的复杂性取决于许多方面&#xff0c;包括所提供服务的可伸缩性和可用性目标&#xff0c;部署过…

开篇

进入软件行业已有数日&#xff0c;但终归还算是新手。 对程序员有点好奇&#xff0c;所以选择这个职业&#xff0c;从现在开始希望能够记下自己从业当中的点点滴滴&#xff0c;同时希望自己也能够一直坚持下去。转载于:https://www.cnblogs.com/gaser/archive/2009/11/22/16082…

构造函数 基本使用

相关知识点&#xff1a; 构造函数、原型对象、实例对象 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><meta h…

2019CCPC网络预选赛 八道签到题题解

目录 2019中国大学生程序设计竞赛&#xff08;CCPC&#xff09; - 网络选拔赛6702 &6703 array6704 K-th occurrence6705 path6706 huntian oy6707 Shuffle Card6708 Windows Of CCPC6709 Fishing Master 2019中国大学生程序设计竞赛&#xff08;CCPC&#xff09; - 网络选…

深入理解表单脚本系列第一篇——表单对象

前面的话 javascript最初的一个应用就是分担服务器处理表单的责任&#xff0c;打破处处依赖服务器的局面。尽管目前的web和javascript已经有了长足的发展&#xff0c;但web表单的变化并不明显。由于web表单没有为许多常见任务提供现成的解决方法&#xff0c;很多开发人员不仅会…

stm32开发问题集锦

1 在flash中跑程序时&#xff0c;能进入中断&#xff0c;但在ram中跑时&#xff0c;进不了中断的原因。看以下的中断配置函数可以知道&#xff0c;要在ram中调试程序&#xff0c;需要定义VECT_TAB_RAM。定义方法a:在Project\Options for taget xxx 的对话框的c/c中定义宏VECT_T…

luoguP4213 【模板】杜教筛(Sum)杜教筛

链接 luogu 思路 为了做hdu来学杜教筛。 杜教筛模板题。 卡常数&#xff0c;我加了register居然跑到不到800ms。 太深了。 代码 // luogu-judger-enable-o2 #include <bits/stdc.h> #define ll long long using namespace std; const int _5000030; int vis[_],pri[_],cn…

深入理解脚本化CSS系列第二篇——查询计算样式

前面的话 元素的渲染结果是多个CSS样式博弈后的最终结果&#xff0c;这也是CSS中的C(cascade)层叠的含义。访问第一篇中的style属性只能获取行间样式&#xff0c;这通常来说&#xff0c;并不是我们想要的结果。本文将详细介绍如何查询计算样式 getComputedStyle() 元素的计算样…