codeforces刷题记录
Codefest 19 (open for everyone, rated, Div. 1 + Div. 2)
C. Magic Grid
- 这种题直接构造
- 数n是2的n次方的倍数的时候可以这样划分数
- 比如n是4的倍数 n=k*4
- 000 001 010 011
- 100 101 110 111
- (k-1)00 (k-1)01 (k-1)10 (k-1)11
- 然后填格子
Codeforces Round #581 (Div. 2)
D2. Kirk and a Binary String (hard version)
- 题意:给一个只含01的串,然后构造另外一个串,满足任意给定l~r,新串与原串不最长下降子序列长度相同
- 000001111111这种的你把前面的1变成0是不会有影响的
- 111100000这种的完全不能变
- 所以考虑得到这个不下降子序列的方法:让1和后面所有的0打包,剩下的全要,打包的那部分要一半
- 显然剩下的那部分里把1全变成0是没有影响的
Codeforces Global Round 4
D. Prime Graph
- 题意给一个n,构造这样一个简单图:总边数是质数然后每个边的度是质数
- 光是给出每个边的度是不能构造出一张图来的
- (n-1) + n/4*2 = x 在 n-1 和 (n-1) + n/4*2之间是一定有一个质数的
- 所以光是用度数为2,3就可以完事了~
- 所以遇到这种题目直接玄学构造就好了啊(疯狂打表)
Codeforces Global Round 2
C. Ramesses and Corner Inversion
- 题意:给两个矩阵,问可不可以用上面描述的操作把上面的变成下面的
- 所以这种题就想办法用机智的姿势把上面的变成下面的就好了啊为什么我还是每次都不会quq
- 看题解就完事了
- 真的要学会观察,用简单有规律的去表示复杂的
Codeforces Round #588 (Div. 2)
D.D. Marcin and Training Camp
- 死于认为7000过不了O(n^2)
- 害,还是太菜了
#include <bits/stdc++.h>
#define nmax 7010 using namespace std;
typedef long long ll;
ll a[nmax],b[nmax],c[nmax];
ll ans=;
int n,idx=;
map <ll,int> m; int main(){
cin>>n;
for (int i=; i<n; i++) {
scanf("%I64d",&a[i]);
m[ a[i] ]++;
if(m[ a[i] ]==) c[idx++]=a[i];
}
for (int i=; i<n; i++) scanf("%I64d",&b[i]);
for (int i=; i<n; i++) {
if(m[a[i]]>) ans+=b[i];
else{
for (int j=; j<idx; j++) {
bool flag=true;
for (ll k=; k<=; k++) {
//printf("%lld%lld quq\n",c[j]&(1LL<<k) ,a[i]&(1LL<<k) );
if( (a[i]&(1LL<<k)) && !(c[j]&(1LL<<k)) ){、、这里调试了好久,!=0就过不了,改成非就过了,神奇
flag=false;
break;
}
}
if(flag) { ans+=b[i]; break; } }
}
}
cout<<ans<<endl;
return ;
} ̄□ ̄||
C. Anadi and Domino
- 暴力题,,,看一眼题解就ok了,枚举全排列
- 这场怎么感觉全是暴力题。。。
- 代码:
#include <bits/stdc++.h> using namespace std;
int g[][]={};
int n,m,a,b,ans=;
int ma[],mb[]; void mj(int cnt,int* x){
if(cnt==n
) {
int d[][];
memset(d,,sizeof(d));
for (int i=; i<m; i++){
d[ x[ma[i]] ][ x[mb[i]] ]++;
if(x[ma[i]]!=x[mb[i]]) d[ x[mb[i]] ][ x[ma[i]] ]++;
}
int ta=;
for (int i=; i<=; i++) for (int j=i; j<=; j++) if(d[i][j]) ta++;
ans=max(ans,ta);
return;
}
int tx[n+];
for (int i=; i<=cnt; i++) tx[i]=x[i];
for (int i=; i<=; i++) {
tx[cnt+]=i;
mj(cnt+,tx);
}
} int main(){
cin>>n>>m;
if(m==) { cout<<<<endl; return ; }
for (int i=; i<m; i++) {
scanf("%d%d",&ma[i],&mb[i]);
g[a][b]=g[b][a]=;
}
int x[n+];
mj(,x);
cout<<ans<<endl;
return ;
}o(╥﹏╥)o
codeforces刷题记录的更多相关文章
- DP刷题记录
目录 dp刷题记录 codeforces 706C codeforces 940E BZOJ3997 POJ2279 GYM102082B GYM102082D codeforces132C L3-0 ...
- PE刷题记录
PE刷题记录 PE60 / 20%dif 这道题比较坑爹. 所有可以相连的素数可以构成一张图,建出这张图,在其中找它的大小为5的团.注意上界的估算,大概在1W以内.1W内有1229个素数,处理出这些素 ...
- Codeforces刷题计划
Codeforces刷题计划 已完成:-- / -- [Codeforces370E]370E - Summer Reading:构造:(给定某些数,在空白处填数,要求不下降,并且相邻差值<=1 ...
- leetcode刷题记录--js
leetcode刷题记录 两数之和 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案.但 ...
- Leetcode刷题记录(python3)
Leetcode刷题记录(python3) 顺序刷题 1~5 ---1.两数之和 ---2.两数相加 ---3. 无重复字符的最长子串 ---4.寻找两个有序数组的中位数 ---5.最长回文子串 6- ...
- 刷题记录:[HarekazeCTF2019]encode_and_encode
目录 刷题记录:[HarekazeCTF2019]encode_and_encode 一.知识点 JSON转义字符绕过 php伪协议 刷题记录:[HarekazeCTF2019]encode_and_ ...
- 刷题记录:[De1CTF 2019]Giftbox && Comment
目录 刷题记录:[De1CTF 2019]Giftbox && Comment 一.知识点 1.sql注入 && totp 2.RCE 3.源码泄露 4.敏感文件读取 ...
- 刷题记录:[强网杯 2019]Upload
目录 刷题记录:[强网杯 2019]Upload 一.知识点 1.源码泄露 2.php反序列化 刷题记录:[强网杯 2019]Upload 题目复现链接:https://buuoj.cn/challe ...
- 刷题记录:[XNUCA2019Qualifier]EasyPHP
目录 刷题记录:[XNUCA2019Qualifier]EasyPHP 解法一 1.error_log结合log_errors自定义错误日志 2.include_path设置包含路径 3.php_va ...
随机推荐
- PMP--2.1 商业论证(经济可行性研究报告)
####################################################### PS:半个月没有更新文档,因为是有点单线程,在整理启动过程组和规划过程组的内容,在规划规 ...
- Python和Anoconda和Pycharm安装教程
简介 Python是一种跨平台的计算机程序设计语言.是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被用于独立的.大型项目的开发. ...
- k8s强制删除pod
有时候pod一直在Terminating kubectl delete pod xxx --force --grace-period=
- JaveScript遍历数组的方法
JaveScript遍历数组的方法 第一种:for循环 遍历出数组的每个值 let arr = [1, 2, 3, 4, 5, 6, 7, 8]; for (let i = 0; i < arr ...
- Pycharm每次新建工程都要重新安装相关库的解决办法
之前自己每次重建工程时,都不厌其烦的重新安装了第三方的库,直接在pycharm的terminal中利用pip安装,或者鼠标放在所需库的红色波浪线上 直接点击Install Package XXX 后面 ...
- JQuery调用WebService封装方法
//提交的webservice链接 //var url = "/wsstafffrate?OpenWebService"; //请求前拼接好的soap字符串 //var soapd ...
- centos7系统中忘记了root管理员账号密码的解决方式
随着计算机的使用越来越普遍,现在的用户都会有多个密码,不是这软件的密码就是那个的,QQ.邮箱.游戏,还有系统的登录密码!每一个密码都不一样!所以越来越多的密码需要去记住!也因为这样,只要其中一个长时间 ...
- day 12 函数
函数 函数的定义和调用 def 函数名(形参): 函数体 return 返回值 调用 函数名(实参) 站在形参的角度上: 位置参数, *args, 默认参数(陷阱), 关键字参数, **kwargs ...
- KindEditor配置和使用
1下载kindeditor包,目前最新版本是kindeditor-3.5.5.下载地址:http://www.kindsoft.net/ 2.解压之后,解压目录kindeditor如下图所示. 3.开 ...
- 【优惠&正版】超级硬盘数据恢复软件(SuperRecovery)7.0正版注册码(39元一机终身授权,支持最新版)
[优惠&正版]超级硬盘数据恢复软件(SuperRecovery)7.0正版注册码(39元一机终身授权,支持最新版) 这个软件的数据恢复效果非常好,在全世界数据恢复软件内是数一数二的. 下载地址 ...