Can upgrade smart contract for Merkle Tree Airdrop

Hi,

We are planning to develop a ERC20 token airdrop event using Merkle Tree. However, it's possible that the whitelist (wallet address + amount of tokens) will be updated during the event.

Can I use upgradable smart contract in this case? And if we can, does it mean that we only need to update the value of the top hash.

Thanks.

You can update the merkle tree root even without an upgradable contract. You only need the the setter function

Thanks @FreezyEx. Would you please show me how the smart contract can be written with setter function to update the merkle root? A working smart contract example is preferred.