Pytorch學習 2 快速模型

2021-08-15 04:23:37 字數 1943 閱讀 1627

好久不寫題解了,今天寫了乙個線段樹果然一點手感都沒有了。

不過是個很好的題目,兩種標記是互相影響的,注意到什麼標記的更新會使得另外的標記一併更新

題目和解法見注釋

/**

* uva 11402

* 四種操作

* 注意兩種標記會相互影響的時候的處理

*/#include

#include

#include

#include

#include

#define lson rt<<1

#define rson rt<<1|1

using

namespace

std;

const

int maxn = 1100080;

struct segmenttree[maxn << 2];

int n,a[maxn];

inline

void pushup(int rt)

/** * 這裡,關於pushdown函式,傳遞的到底應該是標記

* 還是說可以傳遞資料

*/inline

void pushdown(int rt)

else

if(tree[rt].tag == 0)

if(tree[rt].rev == 1)

}inline

void build(int rt,int l,int r)

int mid = (l + r) >> 1;

build(lson,l,mid);

build(rson,mid+1,r);

pushup(rt);

}inline

void update_rev(int rt,int l,int r)

int mid = (tree[rt].l + tree[rt].r) >> 1;

pushdown(rt);

if(l <= mid) update_rev(lson,l,r);

if(r > mid) update_rev(rson,l,r);

pushup(rt);

}inline

void update(int rt,int l,int r,int data)

int mid = (tree[rt].l + tree[rt].r) >> 1;

pushdown(rt);

if(l <= mid) update(lson,l,r,data);

if(r > mid) update(rson,l,r,data);

pushup(rt);

}inline

int query(int rt,int l,int r)

pushdown(rt);

int mid = (tree[rt].l + tree[rt].r) >> 1;

if(r <= mid) return query(lson,l,r);

else

if(l >= mid+1) return query(rson,l,r);

else

return query(lson,l,r) + query(rson,l,r);

}char ch[105];

int main()}}

build(1,1,tt);

char op[2];

int l,r,qm,qq = 0;

scanf("%d",&qm);

printf("case %d:\n",cas);

for(int q = 1;q <= qm;q ++)

else

if(op[0] == 'e')

else

if(op[0] == 'i')

else

if(op[0] == 's') }}

return

0;}

Pytorch深度學習實踐 線性模型

在看劉二大人的pytorch教程,寫個筆記記錄一下,如果有什麼問題歡迎一起 呀 傳送門 劉二大人的pytorch深度學習實踐 線性模型 首先是線性模型的定義 給定由d個屬性描述對的示例x x x x 其中 是第i個屬性上的取值,線性模型試圖學得乙個通過屬性的線性組合來進行 的函式,即 轉換成向量形式...

pytorch設計模型

1.nn.modulelist使對於加入其中的子模組,不必在forward中依次呼叫 nn.sequentialt使對於加入其中的子模組在forward中可以通過迴圈實現呼叫 2.pytorch中nn.modulelist和nn.sequential的用法和區別 nn.sequential定義的網路...

PyTorch快速入門

詳細的pytorch教程可以去pytorch官網的學習指南進一步學習,下面主要對pytorch做簡單的介紹,能夠快速入門。首先pytorch是基於python的科學計算類庫,主要有以下兩個方面的應用 作為numpy的替代者,充分利用gpu的計算能力。提供乙個靈活 快速的深度學習平台。tensor 與...