ICode9

精准搜索请尝试: 精确搜索
  • 一本通1268:【例9.12】完全背包问题(完全背包问题详解)2020-09-25 18:01:54

    原题传送门 一道完全背包问题的模板题,和01背包问题一样,还是拥有两种思路 \(Solution\ 1\) 依然是一个朴实无华的二维数组 状态的表示:\(f[i][j]\)表示前\(i\)个总重量不超过\(j\)的最大价值 状态的转移:\(f[i][j]=max(f[i-1][j],f[i][j-w[i]]+c[i])\ (w[i]<=j)\) 注:\(w[i]\)表示第\(

  • 扩展欧拉定理2020-09-25 16:00:43

    扩展欧拉定理 首先,欧拉定理为 \[若a与m互质,则有 a^{\varphi(m)}\equiv1(\mod m) \]我们可以发现费马小定理其实就是欧拉定理的特殊情况。 证明的话,构造一个与\(m\)互质的数列操作,利用剩余系证明 扩展欧拉定理为 \[a^b\equiv \begin{cases}a^{b\mod\varphi(p)},&\gcd(a,p)=1\\ a^b

  • P4074 [WC2013]糖果公园 树上莫队带修改2020-09-25 15:31:50

    题目链接   Candyland 有一座糖果公园,公园里不仅有美丽的风景、好玩的游乐项目,还有许多免费糖果的发放点,这引来了许多贪吃的小朋友来糖果公园游玩。 糖果公园的结构十分奇特,它由 nn 个游览点构成,每个游览点都有一个糖果发放处,我们可以依次将游览点编号为 11 至 nn。有 nn

  • qt5--键盘事件2020-09-25 14:00:41

    需要 #include<QKeyEvent> win.h #ifndef WIN_H #define WIN_H #include <QWidget> #include <QDebug> #include<QKeyEvent> //键盘模块 class Win : public QWidget { Q_OBJECT public: Win(QWidget *parent = nullptr); ~Win(); vo

  • 2020.9.252020-09-25 13:00:33

    SMZX的NOIP模拟赛7 这场状态不好,只过了一道。(结果又是赛后灵光乍现,想了想就知道后两题怎么做了......) T1 赛后翻到了原题,CF1311F Moving Points 赛时唯一过的一道,蛮简单的。 对于任意两个点,当靠左的点能追上右边的点时,它们一定能重合,因为时间可以不是整数。 分类讨论所有可能的情

  • l洛谷 P6030 [SDOI2012]走迷宫 概率与期望+高斯消元2020-09-25 11:35:43

    题目描述 传送门 分析 首先判掉 \(INF\) 的情况 第一种情况就是不能从 \(s\) 走到 \(t\) 第二种情况就是从 \(s\) 出发走到了出度为 \(0\) 的点,这样就再也走不到 \(t\) 然后我们去考虑 \(60\) 分的做法 我们设 \(dp[u]\) 为当前在点 \(u\) 走到点 \(t\) 的期望步数 那么就有 \(dp[

  • 「csp模拟」模拟测试12020-09-25 09:32:18

    平凡的函数 题目描述 题解 直接线性筛即可, 然后记录一下质因子的幂数。 code #include <cstdio> #include <cctype> #include <cmath> #include <iostream> using namespace std; #define print(x) cerr << #x << " : " << x << endl; inline in

  • POJ3666 - Making the Grade - 简单DP+滚动数组2020-09-25 09:02:27

    题意 先给出了一个\(n\),之后给出\(n\)个数, 要求通过改变一些数,使得最后变成有序的序列(增或减),输出最小的修改量。 思路 二维DP+滚动数组。 因为数据较弱,所以不用严格递增或严格递减,所以序列中的高度一定是出现过的高度。 所以,最终修改后,或者和前一个数字一样,或者和后一个数字一样,这

  • HihoCoder1478 - 水陆距离 - 简单BFS2020-09-25 08:33:06

    题意 中文题。 思路 本来直接先把水域存起来,之后再for遍历,遇到陆地就用这个陆地去搜所有的水域,然后,TLE。 正确的做法是 BFS ,我想到了但是我没写出来。我又以为是记忆化搜索。 补充 这里我用到pair, 放上我之前写的pair的用法:https://www.cnblogs.com/OFSHK/p/11788576.html。 AC代

  • HDU1114 - Piggy-Bank - 完全背包变形2020-09-25 08:31:38

    题意 首先给出\(e\)和\(f\),代表空猪重量和空猪装满硬币的重量; 接下去给出1个\(n\),表示接下来又\(n\)行不同的硬币类型,每种硬币再给出一个价值\(p\)和重量\(w\); 最后问我们是否能输出存钱罐猪中的最小金额,如果可以直接输出给定格式的语句,否则输出 This is impossible. 。 思路 完全

  • 2020-09-25 08:02:10

    #include <stdio.h> #include <stdlib.h> #include <limits.h> #include <time.h> #include <pthread.h> #include <semaphore.h> #include <unistd.h> #include <signal.h> #include <string.h> #include <stdlib.

  • P1179 数字统计2020-09-24 23:33:30

    题目如下:    思路:合理利用多位数分离 代码如下: #include<cstdio> #include<iostream> using namespace std; int f(int x){ int count=0; while(x!=0){ if(x%10==2) count++; x/=10;//不管是否含有2,都要往前面寻找一位 } return count; } int main(){ int l,r,s

  • 网络流练习日志2020-09-24 22:31:22

    网络流练习日志 前言: 教练说 \(Csp\) 之前要学会网络流基础,在暑假培训的时候,学长过来讲了一些。 但由于年代太过久远(大雾),现在发现几乎快忘了。 所以刷(水)几道题来牢固一下。 P1402 酒店之王 Link 题目描述 XX 酒店的老板想成为酒店之王,本着这种希望,第一步要将酒店变得人性化。由于

  • HDU3853 LOOPS2020-09-24 21:31:23

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3853 题意:在一个n*m的网格中,你有一定的概率待在原地,向右走一格,向下走一格。每次操作都会消耗2个魔法,问从(1,1)走到(n,m)所需的魔法期望是多少。 思路:设dp[i][j]表示从(i,j)走到(n,m)还需要的魔法数。先找到期待值dp[n][m]=0,然后有(1

  • 「CSP模拟」模拟测试62020-09-24 20:03:10

    挂得太惨了,这样下去可不行啊... String Master 题意并没有看错,但就是不知道为什么第一眼上去就开始写模拟,更蠢的是明明写着写着发现完全能用\(n^3\)的傻逼DP莽过,但是就是蜜汁自信觉得模拟没问题。 最后一个细节没处理好挂掉50分。 不过可能也跟我考试不喜欢写对拍有关系吧... 以

  • Educational Codeforces Round 95 (Rated for Div. 2)2020-09-24 19:32:09

    原题链接 题外话 恢复性训练 A 题意 一开始有一个树枝,然后每次和商人交易有两种方案 - 1.减去一个树枝获得x个树枝 - 2.减去y个树枝获得1个煤炭 问你最少需要交换多少次才能获得k个火炬(一个火炬是由一个树枝 + 一个煤炭组成) 思路 - 先判断出一共需要多少个树枝 <=> k

  • 蓝桥刷题 --Dungeon Master2020-09-24 17:34:05

    第一种DFS写法 (超时) #pragma GCC positionimize(3,"Otrst","inline") //#include "emplace.hpp" //#include<bits/stdc++.h> #include<iostream> #include<cstdio> #include<cmath> #include<cstdlib> #include<c

  • C++下快速内存拷贝2020-09-24 16:32:11

    #include<cstdio> #include <cctype> #include<cstdlib> #include<cstring> #include <time.h> const int maxn = 1024 * 1024 * 1024 / 4; struct Cons{ int i,j,d; float w; }; Cons *cons; Cons *consCp; int *Ci; int *Cj; int

  • 一个筛子(例一)2020-09-23 22:35:40

    一个筛子(例一) #include <iostream> #include <cstdio> #include <cstdlib> #include <cmath> #include <climits> #include <cstring> #include <vector> #include <map> #include <queue> #include <iterator> #inc

  • 「CSP模拟」模拟测试52020-09-23 20:00:37

    平均数 题意是让求平均值第K小的连续子区间。 发现直接计算无论怎么优化都是 \(n^2\) 的,然后发现这样找K个的似乎可以考虑二分答案。 简单推一下式子。 记 \(sum[i]\) 为前缀和,显然符合条件的区间有: \[\frac{sum[j] - sum[i]}{j-i} \leq mid \]即 \[sum[j] - j \times mid \leq su

  • C++基础2020-09-23 09:33:18

    1.从hello world开始 #include <iostream> using namespace std; int main() { cout << "hello world" << endl; system("pause"); return EXIT_SUCCESS; } 解释:(1)#include <iostream>就好比C#里面引用程序集一样,引用iostream这个

  • P1879 [USACO06NOV]Corn Fields G(状压dp)2020-09-22 20:31:31

    题目链接     f[i][j]表示前[i]行的状态为j时的合法方案数 mp[i]刻画的是土地 possi[i]判断是否合法 步骤: 1.读进来土地,把它二进制转十进制 2.判断草地是否相邻,即是否有连续的1。(i与他的左移一位和右移一位,分别做&运算,如果都都等于0,那么合法)举个例子: 比如说 6→110 (有连续的两个

  • #10108. 「一本通 3.7 练习 2」Ant Trip2020-09-22 18:31:57

       性质题: 如果一个连通块可以构成欧拉回路或者路径,显然一笔画完事 然后如果有多个奇数度的点,设奇数度的点为ans,显然我们会发现这个要画ans/2笔,(奇数度的点一定成对存在) #include<cstdio> #include<algorithm> #include<cstring> #include<queue> #include<stack> using namesp

  • 归并排序/树状数组求逆序对-lgP1908 逆序对2020-09-22 17:32:20

    1、归并排序逆序对 (1) 归并排序的过程(看到一篇知乎写的特别好,链接) 整个过程大概就是不断把一个区间分成两个区间,直到分成单位区间,两个区间不断有序的合并,知道最后形成一个完整的有序的区间。 (2)归并排序的应用:求逆序对: 改动的地方在于:左右两部分的有序序列合并时,假设i在左边,j在右

  • P5687 [CSP-SJX2019]网格图2020-09-22 17:31:22

    题目传送门 思路 首先非常简单的\(O(n^2)\)暴力很容易想,但是拿不到满分。看到最小生成树,首先就想到了\(kruscal\),但点的总数已经是\(n*m\),所以普通的过不了。发现特殊性质就是一行或者一列都是一个边权,肯定要通过这个性质来优化,但是我想了一天还是没想出来,太菜了。看了题解才发现

专注分享技术,共同学习,共同进步。侵权联系[admin#icode9.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有