U190849 最简分式

#include<bits/stdc++.h>
using namespace std; // gcd(a,b) = gcd(b, a%b): a,b的最大公约数 = b,a%b 的最大公约数
int gcd(int a,int b) {
// return b ? gcd(b,a%b) : a;
if(b==0) return a;
return gcd(b,a%b);
}
int main() {
int t,a,b,c,d; cin>>t;
while(t--) {
cin>>a>>b>>c>>d;
int e = a*d+b*c;
int f = b*d;
int temp = gcd(e,f);
cout<<e/temp<<" "<<f/temp<<endl;
}
return 0;
}

P5734 【深基6.例6】文字处理软件

#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const int N=1e6+10,INF=0x3f3f3f3f;
// s.append(str); 在 s 后追加一个 str
// s.substr(a,b); 截取 s 的第 a 个字符后连续 b 个字符
// s.insert(a, str); 在 s 的第 a 个字符后插入字符串 str
// s.find(str) 查询 str 第一次出现的下标,如果没有出现则返回 -1
int main(){
string s,str; int t,op,a,b; cin>>t>>s;
while(t--){
cin>>op;
if(op==1){
cin>>str; s.append(str);
cout<<s<<endl;
}else if(op==2){
cin>>a>>b; s=s.substr(a,b);
cout<<s<<endl;
}else if(op==3){
cin>>a>>str; s.insert(a, str);
cout<<s<<endl;
}else if(op==4){
cin>>str;
cout<<(int)s.find(str)<<endl;
}
}
return 0;
}

P1104 生日

#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const int N=110,INF=0x3f3f3f3f;
int n;
struct T {
string name;
int y,m,d,id;
}t[N]; bool cmp(T a, T b){
if(a.y!=b.y) return a.y < b.y;
if(a.m!=b.m) return a.m < b.m;
if(a.d!=b.d) return a.d < b.d;
return a.id > b.id;
} int main(){
cin>>n;
for(int i=1; i<=n; i++){
cin>>t[i].name>>t[i].y>>t[i].m>>t[i].d;
t[i].id = i;
}
sort(t+1, t+n+1, cmp);// sort(首地址,末地址后一位,比较方式);
for(int i=1; i<=n; i++){
cout<<t[i].name<<endl;
}
return 0;
}

P4305 [JLOI2011]不重复数字

#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const int N=1e6+10,INF=0x3f3f3f3f; int main() {
int t,x,n; cin>>t;
while(t--) {
set<int> s; cin>>n;
while(n--) {
cin>>x;
if(s.count(x)==0) cout<<x<<" ";
s.insert(x);
}
cout<<endl;
}
return 0;
}
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const int N=1e6+10,INF=0x3f3f3f3f; int main() {
int t,x,n; scanf("%d", &t);
while(t--) {
map<int,int> mp; scanf("%d", &n);
while(n--) {
scanf("%d", &x);
if(mp.count(x)==0) printf("%d ", x);
mp[x] = 1; // x ---> 1
}
printf("\n");
}
return 0;
}

P8218 【深进1.例1】求区间和

#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const int N=1e5+10, INF=0x3f3f3f3f;
int n,q,l,r,a[N],s[N]; int main() {
// 笔记:前缀和 s[i] = a[1]+a[2] +... +a[i]
// s[i] = s[i-1] + a[i]
// 区间和 [l,r] = s[r] - s[l-1]
cin>>n;
for(int i=1; i<=n; i++) cin>>a[i];
for(int i=1; i<=n; i++) s[i]=s[i-1]+a[i];
cin>>q;
while(q--) {
cin>>l>>r;
cout<<s[r] - s[l-1]<<endl;
}
return 0;
}

P3397 地毯

#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const int N=1e3+10,INF=0x3f3f3f3f;
int n,m,v[N][N]; int main(){
int x1,x2,y1,y2;
cin>>n>>m;
for(int i=1; i<=m; i++){
cin>>x1>>y1>>x2>>y2;
for(int x=x1; x<=x2; x++){
for(int y=y1; y<=y2; y++){
v[x][y] ++;
}
}
}
for(int i=1; i<=n; i++){
for(int j=1; j<=n; j++){
cout<<v[i][j]<<" ";
} cout<<endl;
}
return 0;
}

P2367 语文成绩

#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const int N=5e6+10,INF=0x3f3f3f3f;
int n,p,a[N],b[N];
int main(){
cin>>n>>p; int l,r,d;
for(int i=1; i<=n; i++) cin>>a[i];
while(p--){
cin>>l>>r>>d;
b[l] += d;
b[r+1] -= d;
}
int tmin=2e9;
for(int i=1; i<=n; i++){
b[i] += b[i-1];
if(a[i]+b[i] < tmin) tmin=a[i]+b[i];
}
cout<<tmin;
return 0;
}

CF276C Little Girl and Maximum Sum

#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const int N=2e5+10,INF=0x3f3f3f3f;
int n,q,a[N],b[N], l,r; int main(){
cin>>n>>q;
for(int i=1; i<=n; i++) cin>>a[i];
while(q--){
cin>>l>>r;
b[l] ++;
b[r+1] --;
}
for(int i=1; i<=n; i++) b[i]+=b[i-1];
sort(a+1, a+1+n);
sort(b+1, b+1+n);
LL s=0; // 2e5 * 2e5
for(int i=1; i<=n; i++) s += 1ll*a[i]*b[i];
cout<<s;
return 0;
}

P1451 求细胞数量

#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const int N=110,INF=0x3f3f3f3f;
char s[N][N];
int n,m,ans=0; bool check(int x,int y) {
return x>=0 && x<n &&y>=0 && y<m &&s[x][y]!='0';
}
void dfs(int x,int y) {
s[x][y]='0';
if(check(x+1,y)) dfs(x+1, y);
if(check(x-1,y)) dfs(x-1, y);
if(check(x,y-1)) dfs(x, y-1);
if(check(x,y+1)) dfs(x, y+1);
}
int main() {
cin>>n>>m;
for(int i=0; i<n; i++) cin>>s[i];
for(int i=0; i<n; i++) {
for(int j=0; j<m; j++) {
if(s[i][j]!='0') {
ans++, dfs(i,j);
}
}
}
cout<<ans;
return 0;
}

P1706 全排列问题

#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const int N=1e6+10,INF=0x3f3f3f3f;
int n,vis[N],ans[N];
// 坐第 m 个板凳
void dfs(int m) {
if(m > n) {
for(int i=1; i<=n; i++)
cout<<setw(5)<<ans[i];
cout<<endl; return;
}
for(int i=1; i<=n; i++) { // 第 i 个人
if(vis[i]==0) {
vis[i]=1, ans[m]=i; // 第 m 个板凳坐的是 i.
dfs(m+1);
vis[i]=0; // 回溯
}
}
}
int main() {
cin>>n; dfs(1);
return 0;
}

20230103~05code的更多相关文章

  1. 【动图解释】关系数据库de关系代数小记

    本文章在 Github 撰写,同时在 我的博客 进行了发布. 最近学数据库概论学到了关系数据库的关系代数了.哎嘛,真的把我整晕了,尤其是关系代数的使用,很容易让人被蒙在鼓里. 对我来说槽点最大的莫过于 ...

  2. Nacos详解

    Nacos是什么 欢迎来到Nocos的世界! 组成部分 全称 描述 Na naming/nameServer 即服务注册中心,与 Spring Cloud Eureka 的功能类似. co confi ...

  3. 避免用Apache Beanutils进行属性的copy。why?让我们一起一探究竟

    在实际的项目开发中,对象间赋值普遍存在,随着双十一.秒杀等电商过程愈加复杂,数据量也在不断攀升,效率问题,浮出水面. 问:如果是你来写对象间赋值的代码,你会怎么做? 答:想都不用想,直接代码走起来,g ...

  4. 【项目实战】从零到一搭建Spring Boot整合Mybatis-plus

    前言 2023年想搭建一套属于自己的框架,做一个属于自己想法的项目.这些年工作中一直用公司已有的框架,以前有跟着学习视频搭建过,但自己真正动手搭建时发现问题还是很多,比如没有引入Mybatis-plu ...

随机推荐

  1. 常用 Git 命令行操作

    本文记录了一些常用 Git 命令行操作的具体使用方式 git clone git clone REPOSITORY_URL 拉取仓库,并使用仓库名作为本地文件名 git clone REPOSITOR ...

  2. 为什么 java 容器推荐使用 ExitOnOutOfMemoryError 而非 HeapDumpOnOutOfMemoryError ?

    前言 好久没写文章了, 今天之所以突然心血来潮, 是因为昨天出现了这样一个情况: 我们公司的某个手机APP后端的用户(customer)微服务出现内存泄露, 导致OutOfMemoryError, 但 ...

  3. js取不到iframe元素

    跨域 iframe 请绕道,下文是针对非跨域 iframe 的问题排除 1.iframe 取不到值的问题的原因 1. 父页面未加载完成 2. iframe 未加载完成 3. 语法使用错误 4. 跨域( ...

  4. Java进阶篇——设计模式

    设计模式 一.代理模式 使用代理类对真实对象进行代理,包括真实对象方法的调用.功能的扩展等.访问的时候也只能访问到代理对象,既保护了真实对象同时可以在原始对象上进行扩展.类似于中介在卖家和买家之间的角 ...

  5. 《深度探索C++对象模型》第四章 Function语意学

    member function相对于nonmember function之间不存在效率之间的差别,因为编译器内部已经将"member 函数实体"转化为对等的"nonmem ...

  6. [数据结构]广度优先搜索算法(Breadth-First-Search,BFS)

    广度优先搜索的概念 广度优先搜索(BFS)类似于二叉树的层序遍历算法,它的基本思想是:首先访问起始顶点v,然后由v出发,依次访问v的各个未被访问过的邻接顶点w1,w2,w3-.wn,然后再依次访问w1 ...

  7. Qt界面设计--侧边栏隐藏和滑出

    在日常项目中,界面布局上经常使用到侧边栏的方式,在侧边栏放置控件进行复合使用,可以实现子功能界面的隐藏和滑出,效果展示如下: 界面控件很简单,主界面QWidget,侧边栏也用一个QWidget和一个按 ...

  8. Keil 5(C51 与 MDK-ARM)官网下载安装包 [ 图文教程 ]

    前言 本篇我将介绍 Keil C51 和 MDK-ARM 两大集成开发环境的安装包下载方法,帮助大家安全快速的从官网下载安装包. 博主编写了软件安装教程,可以在安装包下载完成后,跳转观看图文教程进行软 ...

  9. 反射概述-获取字节码Class对象的三种方式

    反射概述 判定结果∶*红色:失败*绿色:成功*一般我们会使用断言操作来处理结果*Assert.assertEquals(期望的结果,运算的结果);补充∶*Before:*修饰的方法会在测试方法之前被自 ...

  10. super与this关键字图解-Java继承的三个特点

    super与this关键字图解 父类空间优先于子类对象产生 在每次创建子类对象时,先初始化父类空间,再创建其子类对象本身.目的在于子类对象中包含了其对应的父类空 间,便可以包含其父类的成员,如果父类成 ...