训练总结
Buyc
这个作者很懒,什么都没留下…
展开
-
位运算处理n皇后
一般暴力处理n皇后,时间复杂度#include<bits/stdc++.h>using namespace std;int lowbit(int x)//寻找第一个1的位置{ return x&-x;}int jud[2002],n;int sum;int ans;void dfs(int c,int z,int y,int r){ if(c==sum){ans++;return;} int pos=sum&~(c|z|y|jud[r]原创 2022-03-03 15:13:43 · 328 阅读 · 0 评论 -
2021-11-21训练周结(dfs)
1、P1018 [NOIP2000 提高组] 乘积最大题意:给n个数,k个乘号,问怎样分配乘号才能使所得的乘式最大。虽然这道题出自dp专题里,但是不管在哪都得礼让大法师三分。之前有一道0/1背包的模板题,我用大法师解决了,这又有一道比较难的dp题,大法师依旧能胜任!!!!!!dfs(已用的乘号数,当前最大乘积,上一个乘号的位置)如果不考虑高精度,这样大法师直接就能AC代码如下:#include <bits/stdc++.h>#define ll long long//dfs 大法师原创 2021-11-21 20:56:50 · 204 阅读 · 1 评论 -
2021-11-14训练周结
1、十进制数转换为负进制数首先,十进制数转换为其他正进制数都是先取余,再取除。如果是负进制,我们取模可能得到负数,例如7转换为-2进制为:1 -1 1,这样写是不符合规定的,负进制数也只能用正整数表示。为了得到正数,有如下公式:商✖除数+余数=被除数《==》(商+1)✖除数+(余数-除数)=被除数!这样余数“就变成了”(余数-除数)就是正数了;此时商也就变成了(被除数+除数-余数)/除数;也就是(被除数+除数)/余数!!!!!!!!!!!!说了这么多,其实就两点:还是先取余,再取除;如果余数为负,原创 2021-11-14 21:58:24 · 364 阅读 · 0 评论 -
2021-11-6训练周结
周结CF题解新知识总结洛谷刷题总结CF题解Codeforces Round #753 (Div. 3)——ABCD新知识总结洛谷刷题总结原创 2021-11-07 20:35:43 · 91 阅读 · 0 评论 -
2021-10-31 训练周结
1、接水问题洛谷p1190虽然在贪心的模块里,但是这道题给出了接水顺序,所以直接来模拟。#include <bits/stdc++.h>using namespace std;int main(){ int n,m; cin>>n>>m; for(int a=0;a<n;a++) { cin>>pre[a]; } int ans=0; int t=m; while原创 2021-10-31 10:38:17 · 81 阅读 · 0 评论 -
2021-10-10训练总结
1、旅行家的预算(贪心+模拟)我最开始的思路是按照价格去排序,但是这样就会把线性的结构分成好几段,处理起来很麻烦。正确的做法是按照距离排序,用当前加油站的价格与此加油站之后在最大距离之内油价最小的加油站去比较。分别判断两次,算出所花的钱数,然后把当前加油站作为起点,继续进行此过程。#include <bits/stdc++.h>using namespace std;struct s{ double d,p;}x[100];bool cmp(s x,s y){原创 2021-10-10 19:11:32 · 388 阅读 · 0 评论 -
暑假学习总结
上次暑假,虽然对ACM的学习完全比不上那些有训练任务的同学,但还是有在保持着学习。暑假主要学习了并查集,做了一些有关并查集的题目,将一一本通上的案例以及题目都做了一遍,但还不是很明白什么时候需要用到并查集,仅仅是了解。并查集算是学习的新算法,此外,将深搜与广搜复习了一遍,对于简单的搜索题现在可以做出来,对于一些较难的题则需要看题解。像走迷宫,八数码,八皇后等一些问题似懂非懂,虽然明白其中的道理,但是如果让我自己打出来还是有点困难的,这也说明了自己对知识的掌握度不够。另外,还打了几场cf比赛,大多是div原创 2021-09-19 19:36:14 · 64 阅读 · 0 评论