
acwing 打卡
主要以寒假练习和巩固算法为由,希望记录自己学习算法的过程每日打卡,同时也能帮助到有需要的人
C_J_W_
这个作者很懒,什么都没留下…
展开
-
acwing 寒假每日打卡-棋盘问题(dfs+剪枝)
棋盘问题 此题是一道经典的暴力搜素题目,类似于暴力搜素的经典题目“八皇后” 此题实际上是要枚举每一行皇后所在的位置,剔除不能放置皇后的位置,递归处理,即可完成。 那么废话不多说上代码 #include <bits/stdc++.h> using namespace std; const int N = 20; int q[N]; bool col[N],dg[N * 2],udg[N * 2]; int n; int sum = 0; void dfs(int u) {原创 2021-01-24 01:03:32 · 286 阅读 · 0 评论 -
acwing 寒假每日打卡-找硬币(双指针)
找硬币 这个题目运用到的是双指针算法 首先定义两个指针,为 L 与 R;其中 L 指向序列的头,而 R 指向序列的尾部; 对于一个有序的序列,想要寻找匹配值,实际上相当于用指针遍历整个序列两次,此时的时间复杂度为o(n方),但考虑将序列有序化,从大到小排列后,头与尾相加如果大于考察值就让整体变小一些,即让 R 指针向左移动,如果整体偏小,就让 L右移,即逐步逼近所要找的值同时保证了v1为最小,即完成题目的要求 即 如果(aL+aR < x ) 则 试 L 右移 使整体的值扩大 如果(aL+原创 2021-01-20 01:13:36 · 181 阅读 · 2 评论 -
acwing 寒假每日打卡-翻硬币(模拟+贪心)
翻硬币 题目类似于一道贪心题目,每次都追求当前位置上的硬币于模式串相等,然后翻动其后面的一枚硬币(不论其状态如何); 这样的话只需要模拟到倒数第二个硬币就可以让待检测串与模式串匹配; 代码如下 #include <bits/stdc++.h> using namespace std; string str1,str2; int main(){ int sum = 0; cin>>str1>>str2;//str1为原字符串,str2为期待字符串原创 2021-01-18 19:41:57 · 184 阅读 · 0 评论 -
acwing 寒假每日一题-奖学金(cmp排序)
奖学金 题目为简单的结构体存储和cmp排序 #include <bits/stdc++.h> using namespace std; struct node { int chinese; int math; int eng; int id; int sum; } arr[310]; bool cmp (node x, node y) { if(x.sum == y.sum) { if(x.chinese == y.chin原创 2021-01-17 22:16:18 · 195 阅读 · 0 评论